This is exactly what I've been looking for! I really want to get into ML (thanks to that Rust gateway drug), and I found the whole ecosystem pretty confusing.
I've been holding out OCaml because it didn't have good concurrency support, but that seems to have changed recently. I've thoroughly enjoyed learning Haskell, and I'm sure ML has a few treasures of its own to give.
OCaml has had great concurrency support for quite a long time, the Lwt promises library offers async I/O and works really well. Now, with OCaml 5 shipping Multicore support, even more performance will be unlocked, potentially (it really depends on the design and workload characteristics of the application).