(defmacro! foo () (setq! bar (lambda (x) (foo) (+ x 1))) '(print 'hi)) (foo) (print (funcall bar 1))