Do you really need types? I did work in Clojure and I think having good support for immutable data-structures got me 80% of the benefits of functional programming.
Similarily, maybe you are sold on actors and message-passing and Erlang/Elixir is proven there :)
Or you would like types, but are not sure about the whole separation of IO from pure functions in type system, you could try Ocaml (or its Javscript-looking reskin Reasonml). Like, you don't get type-classes, but polymorphic variants are nice and there is this interesting module system.
Or, if you really want to encode your domain in types and then maybe even use the type-system to solve your programming for you, maybe try Idris? Like I have been meaning to go through 'Type-Driven Development with Idris' one day :)
But maybe Ocaml is too little and Idris is too much and Haskell sits in the nice middle ground you like :-)