Module Lang.ModuleType

type type_of_desc =
| ModPath of Paths.Path.Module.t
| StructInclude of Paths.Path.Module.t
type simple_expansion =
| Signature of Signature.t
| Functor of FunctorParameter.t * simple_expansion
type typeof_t = {
t_desc : type_of_desc;
t_expansion : simple_expansion option;
}
module U : sig ... end
type path_t = {
p_expansion : simple_expansion option;
p_path : Paths.Path.ModuleType.t;
}
type with_t = {
w_substitutions : substitution list;
w_expansion : simple_expansion option;
w_expr : U.expr;
}
type expr =
| Path of path_t
| Signature of Signature.t
| Functor of FunctorParameter.t * expr
| With of with_t
| TypeOf of typeof_t
type t = {
id : Paths.Identifier.ModuleType.t;
doc : Comment.docs;
canonical : Paths.Path.ModuleType.t option;
expr : expr option;
}