Of those, I have only used Haskell (and F# which you didn't mention). While Haskell is a pure language, it's standard library is "unclean". Functions in Prelude have idiosyncratic names (words, unwords?) and it doesn't feel like they fit together.
But the real show-stopper for me is the five different string types Haskell has. I want to focus on algorithms and program design - not string conversions.