i used ocaml very briefly so my opinion should be taken with a huge grain of salt. The language is nice. The type system is mostly pretty cool .. there were some programs that were "correct if it compiled". But sometimes the type system sometimes comes in the way .. I hear (but dont know firsthand) that Haskell's type classes alleviate some of the pain.