(defmacro if-bind (var expr then &optional else) `(let ((,var ,expr)) (if ,var ,then ,(when else else))))