At first I wanted to complain about design patterns but then I read this and this is an excellent argument to point out the advantages of Clojure compared to less expressive languages. And it reads a bit like The Little Schemer.
This is very useful. One of the most critical issues any language is how much easier it makes things. Here we can clearly see that Clojure’s terseness and elegance lets one write very concise–but still powerful!–code that looks often much clumsier in other languages.
Peter Norvig figured this out in 1996: “16 of 23 patterns have qualitatively simpler implementation in Lisp or Dylan than in C++ for at least some uses of each pattern”.
That said, it would have been nice if they had addressed the expression problem. Clojure addresses this with the very powerful protocol system.