They’ve been pushing the Dune build system and getting it into OCaml ‘itself’ hard. It’s definitely worth using.
I would think about what the best tool is for your particular project. I think the oop vs fp in a lot of ways can be a false dichotomy. I think about it in the sense of immutable data vs shared mutable data and for me the former is preferable. Furthermore, just because a language is billed as, or written with object oriented principles doesn’t mean that is how it is used. JavaScript and Swift are perfect examples of this.
I always think of web apps as the quintessential concurrent problem.
I suppose their might be web apps that have only one session at a time but
not many.
Each session might process one event at a time, but web apps should manage dozens to millions of parallel sessions - this is where the concurrency comes in.