>>106496222
after testing the lambda body needed to be unquoted to access the implicit a argument (or line in anon's case)
(defmacro m (b)
`(lambda (a) ,b))
(fset #'f (m a))
(f 2) = 2
while not byte-compiled m at least produces a closure object instead of a lambda