(defmacro and-bind (var &rest forms) (cond ((cdr forms) `(when-bind ,var ,(first forms) (and-bind ,var ,@(cdr forms)))) (forms (first forms)) (t 't)))