I personally found Ocaml to be perfect for learning typed (Hindly Milner) functional programming.<p>Haskell with its strong syntactic support was good to learn about Monads and how to work with enforced purity.<p>From there, I went back to Ocaml, using both Monadic IO and Ocaml&#x27;s better module&#x2F;functor system.