n> <span class="mdzsyn-number">4</span>)))
<span class="mdzsyn-comment"># -&gt; (let (x 8 y (+ x 4)) (if (&gt; x y) x y))</span></code></pre><p>After expansion, y wrongly refers to the x inside the macro (which is bound to 8) rather than the x defined
to be 10. The problem is the reuse of the symbol x inside the macro, which overshadowed the original
binding. This problem is called the <a href="https://en.wikipedia.org/wiki/Hygienic_macro#The_hygiene_problem">hygiene problem</a> which is well known in many 