Module Lang.ModuleType

type substitution =
| ModuleEq of Paths.Fragment.Module.t * Module.Equation.t
| TypeEq of Paths.Fragment.Type.t * TypeDecl.Equation.t
| ModuleSubst of Paths.Fragment.Module.t * Paths.Path.Module.t
| TypeSubst of Paths.Fragment.Type.t * TypeDecl.Equation.t
type expr =
| Path of Paths.Path.ModuleType.t
| Signature of Signature.t
| Functor of FunctorParameter.t * expr
| With of expr * substitution list
| TypeOf of Module.decl
type t = {
id : Paths.Identifier.ModuleType.t;
doc : Comment.docs;
expr : expr option;
expansion : Module.expansion option;
}