In my opinion he has made some questionable decisions with Clojure.
- Gratuitous use of [] in some forms; mainly defn and let. Why break the homonicity so often for no real benefit?
- Comment strings appearing before argument lists in functions. I would like to see the entire protocol, name and args, before reading the docstring which may refer to the args.
- List? predicate... (list? '(1)) => true (list? '(1 2)) => false ...
- Multi arity functon, the main justification in the documentation is due to JVM limitations, JVM limitations like these can be hidden by the hidden by the guest language http://clojure-doc.org/articles/language/functions.html#mult...
These are just my superficial opinions of Clojure, I am still very much at the beginning of my journey in learning the language.