Hi Sophia, you are on the right track. I agree with John that Belt.Map.String seems like the right data structure here. It's an immutable data structure that offers get/set/update/merge operations, pretty much exactly what you need.
Regarding file structure, I wrote something about that, which you may find helpful: dev.to/yawaramin/a-modular-ocaml-p...
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.