defvar しただけじゃ変数束縛されないってのを初めて知った。

(defvar x)
(boundp 'x) ;; => nil
(defvar y 10)
(boundp 'y) ;; => t

(defvar z nil) ;; &optional だから (defvar z) と同じな気がするんだけど
(boundp 'z) ;; => t 変数は束縛されてる・・・