It’s nice, but not that nice. The type system is primitive compared to modern alternatives and the use of functors for generics is clumsy. Also multicore still isn’t a thing, despite it being just around the corner for years. If the type system was as powerful as, say, Scala and multicore worked OCaml would be my go-to language. But at this point, I think F# would be a better choice for new projects. And you also get to use Akka.net with it, which could be a major value add.