typemodule
Typemodule is a term used in some programming language ecosystems to describe a module whose primary purpose is to declare and organize type information rather than runtime values. A typemodule typically contains abstract type declarations, type aliases, and interfaces or signatures that constrain what types can be used in other parts of the program. It may also define type-level constructs such as type classes or traits in languages that support them. In contrast to modules that primarily export data constructors, functions, or values, a typemodule focuses on the shape and constraints of data rather than on concrete implementations.
Typemodules are used to encapsulate and hide implementations behind an abstract type, enabling a stable surface
In languages with strong module systems, typemodules may align with concepts such as module signatures, interfaces,