I&#x27;m going to be contrary and suggest that, when you&#x27;re first learning a Lisp, write a macro every time you think &quot;hey this might be a good place to write a macro&quot; - and then try to achieve the same behavior with a function. There&#x27;s no better way to learn when macros are useful and when they over-complicate things.