What are some interesting & useful things that you can do with OCaml-style modules that you can't express with something like traits or typeclasses?
Conversation
Replying to
I think you can decompose large signatures into smaller ones without breaking backwards compatibility. SML and OCaml's modules also support abstract types, which you can't usually do with traits and typeclasses (associated types are usually transparent, or passed as parameters).

