<div dir="ltr"><div>I get &quot;unbound variable args&quot;<br></div><div><br></div><div>(define-macro (trace f)</div>  (let ((old-f (gensym)))<br>    `(define ,f<br>       (let ((,old-f ,f))<br>         (apply lambda &#39;args<br>                `((format () &quot;(~S ~{~S~^ ~}) -&gt; &quot; &#39;,&#39;,f args)<br>                  (let ((val (apply ,,old-f args)))<br>                    (format () &quot;~S~%&quot; val)<br>                    val)))))))<br></div>