Macroexpansion
 
 
When the evaluator sees (incf a)
- It notices that INCF names a macro
 - It “runs” or macroexpands the macro, which transforms the line of code into:
 - It evaluates that expression instead
 - So when you type (incf a) to the lisp listener, it is as if you had typed (setf a (+ 1 a))