(let x init (when (f x) ...body...)) ==> (checklet x f init ...body...)
(def fn-checklet (test x body) (test&body x)) (mac checklet (var test x . body) `(fn-checklet ,test ,x (fn (,var) ,@body)))