Component.ModuleTypeSourcetype substitution = | ModuleEq of Cfrag.module_ * Module.decl| ModuleSubst of Cfrag.module_ * Cpath.module_| ModuleTypeEq of Cfrag.module_type * ModuleType.expr| ModuleTypeSubst of Cfrag.module_type * ModuleType.expr| TypeEq of Cfrag.type_ * TypeDecl.Equation.t| TypeSubst of Cfrag.type_ * TypeDecl.Equation.ttype simple_expansion = | Signature of Signature.t| Functor of FunctorParameter.t * simple_expansiontype typeof_t = {t_desc : type_of_desc;t_original_path : Cpath.module_;t_expansion : simple_expansion option;}module 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 = {source_loc : Odoc_model.Paths.Identifier.SourceLocation.t option;doc : CComment.docs;canonical : Odoc_model.Paths.Path.ModuleType.t option;expr : expr option;}