span class="mdzsyn-comment"># -&gt; 10</span></code></pre><p>Janet has many macros provided for you (and you can write your own).
Macros are just functions that take your source code
and transform it into some other source code, usually automating some repetitive pattern for you.
</p>
<h2>Optional Arguments
</h2>
<p>Most Janet functions will raise an error at runtime
if not passed exactly the right number of arguments.
Sometimes, you want to define a function with optional arguments, where the arguments
tak