The problem of Lisp is <i>the</i> side-effecting nature of it. There&#x27;s nothing complex in metaprogramming, if you do it in pure setting. The problems arise when you combine two differently side-effecting pieces of software and Lisp does nothing to prevent that or help there.<p>I won&#x27;t stop repeat that mantra that side effects and program state are an <i>implicit</i> information channel in a program. This channel is shared by many parts (or parties) inside program and it has some specific <i>implicitly specified</i> protocol of use. Add a piece of software that uses the channel with slightly different protocol as assumption, get ready for all sorts of problems.