) ,<span class="mdzsyn-symbol">$x</span> ,<span class="mdzsyn-symbol">$y</span>))))</code></pre><p>As you can see, macros are very powerful but are also prone to subtle bugs. You
must remember that at their core, macros are just functions that output code,
and the code that they return must work in many contexts! Many times a function
will suffice and be more useful than a macro, as functions can be more easily
passed around and used as first class values.
</p>
        <div class="prevnext-bar">
          <