&gt; But IF is a special form, built into the language.<p>It doesn&#x27;t have to be built into the language; it could be a macro based on COND or even on WHEN&#x2F;UNLESS. But…<p>&gt; A basic set of special forms is needed and can&#x27;t be implemented as macros.<p>One has to have <i>some</i> special forms in order to build everything else as macros. And in practice, of course, there can be some big efficiency gains to having lots of special forms vice having only a few and lots of macrology.