&gt; For instance if you make an x86-64 assembler in Lisp, it will be just as restricted as any other assembler; it will diagnose unrecognized opcodes, bad addressing modes, etc.<p>But it won&#x27;t enforce those things at compilation time in the type system, because it doesn&#x27;t have one. You might have a macro that checks them, but it would be ad-hoc.