There is https://github.com/avsm/opam-tools which aims to simplify the process of setting up a local opam project with all the tooling required.
On the topic of and janestreet-core/base and named parameters, I don't like how it basically forces you to name your arguments whenever you need to compose functions. I much prefer Containers library which is lighter and stdlib friendly.
* Base/Core: List.range 0 20 |> List.map ~f:(fun x -> x * 2) |> (fun l -> List.take l 5)
* Containers: List.range 0 20 |> List.map (fun x -> x * 2) |> List.take 5
On the topic of and janestreet-core/base and named parameters, I don't like how it basically forces you to name your arguments whenever you need to compose functions. I much prefer Containers library which is lighter and stdlib friendly.
* Base/Core: List.range 0 20 |> List.map ~f:(fun x -> x * 2) |> (fun l -> List.take l 5)
* Containers: List.range 0 20 |> List.map (fun x -> x * 2) |> List.take 5