Without disagreeing with you here (it’s starting to feel like a running gag ), whenever that argument is put forward, it would be nice to give a specific list of missing items.
Some examples:
- JSON: use yojson, jsonm, ezjsonm, ezjsonm?
- Use lwt or async?
- Use result or rresult?
- Use dune or not? Some high-profile packages are not using dune.
- Try using an http client library
- Real World OCaml is often recommended as a book but it is heavily biased towards Jane Street Libraries which are their own ecosystem - something beginners don’t realise
- How to deal with unicode and UTF8? It’s not explicit
These are just a few examples. If you look at other languages (Go, Gleam, Vlang) many of them have a standard library that makes these decisions for you. You are still free to use a more advanced HTTP library but you are not facing these decisions right at the beginning.