Module Subst.Lazy
include Types.Wrapped
type value_description = {val_type : Types.type_expr Subst.Lazy.wrapped;val_modalities : Mode.Modality.t;val_kind : Types.value_kind;val_loc : Location.t;val_zero_alloc : Zero_alloc.t;val_attributes : Parsetree.attributes;val_uid : Types.Uid.t;
}type module_type = | Mty_ident of Path.t| Mty_signature of Subst.Lazy.signature| Mty_functor of Subst.Lazy.functor_parameter * Subst.Lazy.module_type| Mty_alias of Path.t| Mty_strengthen of Subst.Lazy.module_type * Path.t * Types.Aliasability.t
and signature = Subst.Lazy.signature_item list Subst.Lazy.wrappedand signature_item = | Sig_value of Ident.t * Subst.Lazy.value_description * Types.visibility| Sig_type of Ident.t * Types.type_declaration * Types.rec_status * Types.visibility| Sig_typext of Ident.t * Types.extension_constructor * Types.ext_status * Types.visibility| Sig_module of Ident.t * Types.module_presence * Subst.Lazy.module_declaration * Types.rec_status * Types.visibility| Sig_modtype of Ident.t * Subst.Lazy.modtype_declaration * Types.visibility| Sig_class of Ident.t * Types.class_declaration * Types.rec_status * Types.visibility| Sig_class_type of Ident.t * Types.class_type_declaration * Types.rec_status * Types.visibility
and module_declaration = {md_type : Subst.Lazy.module_type;md_modalities : Mode.Modality.t;md_attributes : Parsetree.attributes;md_loc : Location.t;md_uid : Types.Uid.t;
}and modtype_declaration = {mtd_type : Subst.Lazy.module_type option;mtd_attributes : Parsetree.attributes;mtd_loc : Location.t;mtd_uid : Types.Uid.t;
}val sort_of_signature_item :
Subst.Lazy.signature_item ->
Jkind_types.Sort.t optionval of_value : 'a -> 'a Subst.Lazy.wrappedval of_lazy : 'a Stdlib.Lazy.t -> 'a Subst.Lazy.wrappedval substitute : Subst.t -> 'a Subst.Lazy.wrapped -> 'a Subst.Lazy.wrappedval of_module_decl : Types.module_declaration -> Subst.Lazy.module_declarationval of_modtype : Types.module_type -> Subst.Lazy.module_typeval of_modtype_decl :
Types.modtype_declaration ->
Subst.Lazy.modtype_declarationval of_signature : Types.signature -> Subst.Lazy.signatureval of_signature_item : Types.signature_item -> Subst.Lazy.signature_itemval of_functor_parameter :
Types.functor_parameter ->
Subst.Lazy.functor_parameterval of_value_description :
Types.value_description ->
Subst.Lazy.value_descriptionval module_decl :
Subst.scoping ->
Subst.t ->
Subst.Lazy.module_declaration ->
Subst.Lazy.module_declarationval modtype :
Subst.scoping ->
Subst.t ->
Subst.Lazy.module_type ->
Subst.Lazy.module_typeval modtype_decl :
Subst.scoping ->
Subst.t ->
Subst.Lazy.modtype_declaration ->
Subst.Lazy.modtype_declarationval signature :
Subst.scoping ->
Subst.t ->
Subst.Lazy.signature ->
Subst.Lazy.signatureval signature_item :
Subst.scoping ->
Subst.t ->
Subst.Lazy.signature_item ->
Subst.Lazy.signature_itemval value_description :
Subst.t ->
Subst.Lazy.value_description ->
Subst.Lazy.value_descriptionval force_module_decl :
Subst.Lazy.module_declaration ->
Types.module_declarationval force_modtype : Subst.Lazy.module_type -> Types.module_typeval force_modtype_decl :
Subst.Lazy.modtype_declaration ->
Types.modtype_declarationval force_signature : Subst.Lazy.signature -> Types.signatureval force_signature_once :
Subst.Lazy.signature ->
Subst.Lazy.signature_item listval force_signature_item : Subst.Lazy.signature_item -> Types.signature_itemval force_functor_parameter :
Subst.Lazy.functor_parameter ->
Types.functor_parameterval force_value_description :
Subst.Lazy.value_description ->
Types.value_descriptionval force_type_expr : Types.type_expr Subst.Lazy.wrapped -> Types.type_expr