Clojure is a decent language. I've worked with it a good deal in work. But I would take any functional language with types over it. Some thoughts:

- its dynamic-ness makes it not suited to large projects IMO.

- The currently-accepted attempt at a non-type-system-type-system 'spec' is not well thought out.

- Biggest wins I think are immutability by default, homoiconicity, and "simplicity"

- The repl is fine but can be a crutch -- see startup time

- Clojure still hasn't really found a niche, and I'm not sure I would ever reach for it first unless I was integrating with other clojure projects.

> - its dynamic-ness makes it not suited to large projects IMO.

Clojure can be typed https://github.com/clojure/core.typed/

> - The currently-accepted attempt at a non-type-system-type-system 'spec' is not well thought out.

Spec is not a substitute for a type system. It is much more loose, since you are just dealing with implicit predicates but at the same time it is more powerful than what mainstream type systems give you in terms of validity and expressiveness.