While Clojure does a lot of things well, it have the same flaws that Haskell (and to some extend Scala) tries to solve. For example, Haskell has strong emphasis on types and has no side-effects which let you easier write correct programs. One beautiful thing you'll encounter doing after some experience with Haskell is that types will guide you when designing your programs, not only giving a correct but also concise and elegant solution (most of the times).