Between spin, drom, and esy, there are a lot of ways to create and manage OCaml projects (not to mention plain dune+opam). This has made it hard for me to get up and running on OCaml projects and understand best practices. Even among the most popular libraries, there seems to be a lot of variety in how the project’s packages are managed, how the project is built, code style, etc.
I think having the OCaml core team adopt and promote a comprehensive tool, and then publish extensive documentation on how to get up and running, best practices, etc. using that tool would go a long way to increasing OCaml productivity and adoption. Such a tool could still use opam+dune under the hood but be more opinionated about how dependencies and builds work and be “officially” sanctioned as the recommended way to create OCaml projects.
I am less concerned about which tool gets chosen, but I do want to call out Python’s Poetry. Poetry builds on other Python tooling by using virtual environments and pip under the hood. In fact, I think Poetry would be a great model for an OCaml project management system given the similarities between Python’s and OCaml’s long history and diversity of tooling. Poetry also does a great job wrapping up all the different pieces it builds on into a nice, easy-to-use package.