&gt; 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>In Common Lisp IF is built in and COND is a macro. One of the conditionals needs to be built-in.<p><a href="http:&#x2F;&#x2F;www.lispworks.com&#x2F;documentation&#x2F;HyperSpec&#x2F;Body&#x2F;s_if.htm#if" rel="nofollow">http:&#x2F;&#x2F;www.lispworks.com&#x2F;documentation&#x2F;HyperSpec&#x2F;Body&#x2F;s_if.h...</a><p>&gt; One has to have some special forms in order to build everything else as macros.<p>For conditionals, one conditional needs to be there, into which the other macro-based conditionals can be expanded.<p>&gt; 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.<p>Not really. Common Lisp has a minimum of special forms and usually has some of the faster Lisp implementations.