Component.ModuleTypetype substitution = | ModuleEq of Cfrag.module_ * Module.decl |
| ModuleSubst of Cfrag.module_ * Cpath.module_ |
| ModuleTypeEq of Cfrag.module_type * expr |
| ModuleTypeSubst of Cfrag.module_type * expr |
| TypeEq of Cfrag.type_ * TypeDecl.Equation.t |
| TypeSubst of Cfrag.type_ * TypeDecl.Equation.t |
type simple_expansion = | Signature of Signature.t |
| Functor of FunctorParameter.t * simple_expansion |
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_t |