It sounds like you&#x27;re already aware of this from your question and others have already beat me to the punch, but:<p>OCaml modules are best of breed. Better than anything else. Nothing else even comes close.<p>They&#x27;re weird and different from modules you&#x27;ll see in other languages. Then after you get used to them you&#x27;ll find those other modules are at best neutered and most likely severely broken versions of what you&#x27;ve come to know and love from OCaml (or any of the true MLs).<p>OCaml modules arise from a certain treatment of &quot;existential types&quot; which are, in a lot of ways, the very foundation of type abstraction. If you don&#x27;t care about types practically, then you can care about them spiritually as a means of describing program interfaces. Existential types are maybe the very foundation of abstract program interfaces.<p>So, OCaml is at least 50% good. Opam is kind of nice, too.