Common Lisp&#x27;s type system isn&#x27;t optional. The language is strongly typed. Type goes away (in a sense) when you <i>add</i> declarations.  That is to say, if you tell Lisp that, say, some variable contains a fixnum, then (in code compiled with safety 0) it just believes your declaration, and it&#x27;s up to you to ensure that it&#x27;s not a lie (else the behavior is undefined). The type system isn&#x27;t optional in any other sense.<p>It&#x27;s optional for an implementation to provide static checks and optimizations based on type, which is different. &quot;Static type&quot; and &quot;type&quot; are not synonyms.<p>Common Lisp code is safe by default; you can&#x27;t use an object of type X as if it were one of type Y.