I’m a bit late in this discussion but I want to give my vision and experience.
In my office we use 2 languages: Python (90%) and OCaml (10%).
I wrote many network services in OCaml: one in particular runs H24/7 with a huge load and collects critical SCADA data from a network of industrial devices, connected with a Linux box with and old RS485. On theese boxes a client is running, also written in OCaml.
The server and the clients have been written using core/async, so no multithreading and this by a precise design decision, not for a “runtime limitation”.
NGINX, the most popular HTTP server, is essentially a single process.
The lack of “web servers” (what is a web server? HTTP? Application server?) written in OCaml only means that nobody in the OCaml community has time to waste writing a complex piece of software that… already exists: I used Apache for many years and now NGINX and I really don’t feel the need of a “OHTTP”.
You can believe your favourite programming language is the best out there, and still you can refrain from re-writing everything using it, e.g: xmonad, node.js, countless projects written in Go and, of course, J* (J for Java, not Jane Street)