CL is designed so that code written for earlier Lisp dialects can run with little or no modification, which means there&#x27;s a lot of bloat and historical baggage in the core `common-lisp` package. But even if that weren&#x27;t the case, you&#x27;d still need conventions like you do in any other language. Clojure is a young language with a BDFL. It already has historical baggage that prominent members of the community will tell you to avoid.<p>The fact that so many people write their own cleaned-up wrapper libraries like CLUEL isn&#x27;t a sign that CL especially needs them; it just means it&#x27;s easy to do. If a language doesn&#x27;t have macros and doesn&#x27;t let you shadow built-in operators, you have to play the hand you&#x27;re dealt.<p>It&#x27;s trivial to deal with cryptic function names and inconsistent parameter ordering in a language&#x27;s <i>core library</i>. I can read code with `car` and `cdr`; I write code with `first` and `rest`. What makes a poorly designed <i>language</i> is something you can&#x27;t paper over, like broken lexical scoping. There are definitely some things worth complaining about in CL as a <i>language</i>, but I didn&#x27;t see any in this post.