Component.ModuleTypetype substitution = | ModuleEq of Odoc_xref2.Cfrag.module_ * Module.decl| ModuleSubst of Odoc_xref2.Cfrag.module_ * Odoc_xref2.Cpath.module_| ModuleTypeEq of Odoc_xref2.Cfrag.module_type * ModuleType.expr| ModuleTypeSubst of Odoc_xref2.Cfrag.module_type * ModuleType.expr| TypeEq of Odoc_xref2.Cfrag.type_ * TypeDecl.Equation.t| TypeSubst of Odoc_xref2.Cfrag.type_ * TypeDecl.Equation.ttype type_of_desc = | ModPath of Odoc_xref2.Cpath.module_| StructInclude of Odoc_xref2.Cpath.module_type simple_expansion = | Signature of Signature.t| Functor of FunctorParameter.t * simple_expansionmodule U : sig ... endtype 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| With of with_t| Functor of FunctorParameter.t * expr| TypeOf of typeof_ttype t = {locs : Odoc_model.Paths.Identifier.SourceLocation.t option;doc : CComment.docs;canonical : Odoc_model.Paths.Path.ModuleType.t option;expr : expr option;}