For learning, hmm… Haskell is great for a lot of the concepts it gives you, but Rust has a lot of them as well (though not all), however the Rust ability to actually teach you good ownership models is one of the most valuable things that you could learn in any language, that combined with its great error message probably means I’d pick Rust as the best to learn of all of those.
As for what I actually “like” best, well “that depends” on what I’m doing, lol. OCaml I most like as, say, a python replacement, I’d never pick python over ocaml unless I need a specific library, OCaml is fantastic for whipping stuff up. Rust for most else. Haskell is more of a fun thing but doesn’t really gain much in terms of productivity over OCaml or Rust.