(mac with (parms . body) `((fn ,(map1 car (pair parms)) ,@body) ,@(map1 cadr (pair parms)))) (mac let (var val . body) `(with (,var ,val) ,@body))