Use this tag for questions relating to passing modules around as values, and more specifically to the feature in [ocaml] of packing a module and module signature together as a value.
Firs-class modules are, analogous to first-class-functions, modules passed around as values. In ocaml the term refers specifically to the concept of packing a module together with a module signature into a value. That is, modules aren't implicitly first-class, but can be converted to a value, and must later be unpacked before being used.