module Located : Located with type a with_loc := a without_locationinclude module type of sig ... endval loc : Ppx_core.Location.tval case : lhs:Ppx_core__.Import.pattern ‑> guard:Ppx_core__.Import.expression option ‑> rhs:Ppx_core__.Import.expression ‑> Ppx_core__.Import.caseval pcl_constr : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.core_type list ‑> Ppx_core__.Import.class_exprval pcl_structure : Ppx_core__.Import.class_structure ‑> Ppx_core__.Import.class_exprval pcl_fun : Ppx_core__.Import.arg_label ‑> Ppx_core__.Import.expression option ‑> Ppx_core__.Import.pattern ‑> Ppx_core__.Import.class_expr ‑> Ppx_core__.Import.class_exprval pcl_apply : Ppx_core__.Import.class_expr ‑> (Ppx_core__.Import.arg_label * Ppx_core__.Import.expression) list ‑> Ppx_core__.Import.class_exprval pcl_let : Ppx_core__.Import.rec_flag ‑> Ppx_core__.Import.value_binding list ‑> Ppx_core__.Import.class_expr ‑> Ppx_core__.Import.class_exprval pcl_constraint : Ppx_core__.Import.class_expr ‑> Ppx_core__.Import.class_type ‑> Ppx_core__.Import.class_exprval pcl_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.class_exprval pcf_inherit : Ppx_core__.Import.override_flag ‑> Ppx_core__.Import.class_expr ‑> string option ‑> Ppx_core__.Import.class_fieldval pcf_val : (string Ppx_core__.Import.loc * Ppx_core__.Import.mutable_flag * Ppx_core__.Import.class_field_kind) ‑> Ppx_core__.Import.class_fieldval pcf_method : (string Ppx_core__.Import.loc * Ppx_core__.Import.private_flag * Ppx_core__.Import.class_field_kind) ‑> Ppx_core__.Import.class_fieldval pcf_constraint : (Ppx_core__.Import.core_type * Ppx_core__.Import.core_type) ‑> Ppx_core__.Import.class_fieldval pcf_initializer : Ppx_core__.Import.expression ‑> Ppx_core__.Import.class_fieldval pcf_attribute : Ppx_core__.Import.attribute ‑> Ppx_core__.Import.class_fieldval pcf_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.class_fieldval class_infos : virt:Ppx_core__.Import.virtual_flag ‑> params:(Ppx_core__.Import.core_type * Ppx_core__.Import.variance) list ‑> name:string Ppx_core__.Import.loc ‑> expr:'a ‑> 'a Ppx_core__.Import.class_infosval class_signature : self:Ppx_core__.Import.core_type ‑> fields:Ppx_core__.Import.class_type_field list ‑> Ppx_core__.Import.class_signatureval class_structure : self:Ppx_core__.Import.pattern ‑> fields:Ppx_core__.Import.class_field list ‑> Ppx_core__.Import.class_structureval pcty_constr : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.core_type list ‑> Ppx_core__.Import.class_typeval pcty_signature : Ppx_core__.Import.class_signature ‑> Ppx_core__.Import.class_typeval pcty_arrow : Ppx_core__.Import.arg_label ‑> Ppx_core__.Import.core_type ‑> Ppx_core__.Import.class_type ‑> Ppx_core__.Import.class_typeval pcty_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.class_typeval pctf_inherit : Ppx_core__.Import.class_type ‑> Ppx_core__.Import.class_type_fieldval pctf_val : (string * Ppx_core__.Import.mutable_flag * Ppx_core__.Import.virtual_flag * Ppx_core__.Import.core_type) ‑> Ppx_core__.Import.class_type_fieldval pctf_method : (string * Ppx_core__.Import.private_flag * Ppx_core__.Import.virtual_flag * Ppx_core__.Import.core_type) ‑> Ppx_core__.Import.class_type_fieldval pctf_constraint : (Ppx_core__.Import.core_type * Ppx_core__.Import.core_type) ‑> Ppx_core__.Import.class_type_fieldval pctf_attribute : Ppx_core__.Import.attribute ‑> Ppx_core__.Import.class_type_fieldval pctf_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.class_type_fieldval constructor_declaration : name:string Ppx_core__.Import.loc ‑> args:Ppx_core__.Import.constructor_arguments ‑> res:Ppx_core__.Import.core_type option ‑> Ppx_core__.Import.constructor_declarationval ptyp_any : Ppx_core__.Import.core_typeval ptyp_var : string ‑> Ppx_core__.Import.core_typeval ptyp_arrow : Ppx_core__.Import.arg_label ‑> Ppx_core__.Import.core_type ‑> Ppx_core__.Import.core_type ‑> Ppx_core__.Import.core_typeval ptyp_tuple : Ppx_core__.Import.core_type list ‑> Ppx_core__.Import.core_typeval ptyp_constr : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.core_type list ‑> Ppx_core__.Import.core_typeval ptyp_object : (string * Ppx_core__.Import.attributes * Ppx_core__.Import.core_type) list ‑> Ppx_core__.Import.closed_flag ‑> Ppx_core__.Import.core_typeval ptyp_class : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.core_type list ‑> Ppx_core__.Import.core_typeval ptyp_alias : Ppx_core__.Import.core_type ‑> string ‑> Ppx_core__.Import.core_typeval ptyp_variant : Ppx_core__.Import.row_field list ‑> Ppx_core__.Import.closed_flag ‑> Ppx_core__.Import.label list option ‑> Ppx_core__.Import.core_typeval ptyp_poly : string list ‑> Ppx_core__.Import.core_type ‑> Ppx_core__.Import.core_typeval ptyp_package : Ppx_core__.Import.package_type ‑> Ppx_core__.Import.core_typeval ptyp_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.core_typeval pexp_ident : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.expressionval pexp_constant : Ppx_core__.Import.constant ‑> Ppx_core__.Import.expressionval pexp_let : Ppx_core__.Import.rec_flag ‑> Ppx_core__.Import.value_binding list ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_function : Ppx_core__.Import.case list ‑> Ppx_core__.Import.expressionval pexp_fun : Ppx_core__.Import.arg_label ‑> Ppx_core__.Import.expression option ‑> Ppx_core__.Import.pattern ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_apply : Ppx_core__.Import.expression ‑> (Ppx_core__.Import.arg_label * Ppx_core__.Import.expression) list ‑> Ppx_core__.Import.expressionval pexp_match : Ppx_core__.Import.expression ‑> Ppx_core__.Import.case list ‑> Ppx_core__.Import.expressionval pexp_try : Ppx_core__.Import.expression ‑> Ppx_core__.Import.case list ‑> Ppx_core__.Import.expressionval pexp_tuple : Ppx_core__.Import.expression list ‑> Ppx_core__.Import.expressionval pexp_construct : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.expression option ‑> Ppx_core__.Import.expressionval pexp_variant : Ppx_core__.Import.label ‑> Ppx_core__.Import.expression option ‑> Ppx_core__.Import.expressionval pexp_record : (Ppx_core__.Import.longident_loc * Ppx_core__.Import.expression) list ‑> Ppx_core__.Import.expression option ‑> Ppx_core__.Import.expressionval pexp_field : Ppx_core__.Import.expression ‑> Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.expressionval pexp_setfield : Ppx_core__.Import.expression ‑> Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_array : Ppx_core__.Import.expression list ‑> Ppx_core__.Import.expressionval pexp_ifthenelse : Ppx_core__.Import.expression ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expression option ‑> Ppx_core__.Import.expressionval pexp_sequence : Ppx_core__.Import.expression ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_while : Ppx_core__.Import.expression ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_constraint : Ppx_core__.Import.expression ‑> Ppx_core__.Import.core_type ‑> Ppx_core__.Import.expressionval pexp_coerce : Ppx_core__.Import.expression ‑> Ppx_core__.Import.core_type option ‑> Ppx_core__.Import.core_type ‑> Ppx_core__.Import.expressionval pexp_send : Ppx_core__.Import.expression ‑> string ‑> Ppx_core__.Import.expressionval pexp_new : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.expressionval pexp_setinstvar : string Ppx_core__.Import.loc ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_override : (string Ppx_core__.Import.loc * Ppx_core__.Import.expression) list ‑> Ppx_core__.Import.expressionval pexp_letmodule : string Ppx_core__.Import.loc ‑> Ppx_core__.Import.module_expr ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_assert : Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_lazy : Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_poly : Ppx_core__.Import.expression ‑> Ppx_core__.Import.core_type option ‑> Ppx_core__.Import.expressionval pexp_object : Ppx_core__.Import.class_structure ‑> Ppx_core__.Import.expressionval pexp_newtype : string ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expressionval pexp_pack : Ppx_core__.Import.module_expr ‑> Ppx_core__.Import.expressionval pexp_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.expressionval pexp_unreachable : Ppx_core__.Import.expressionval extension_constructor : name:string Ppx_core__.Import.loc ‑> kind:Ppx_core__.Import.extension_constructor_kind ‑> Ppx_core__.Import.extension_constructorval include_infos : 'a ‑> 'a Ppx_core__.Import.include_infosval label_declaration : name:string Ppx_core__.Import.loc ‑> mutable_:Ppx_core__.Import.mutable_flag ‑> type_:Ppx_core__.Import.core_type ‑> Ppx_core__.Import.label_declarationval location : start:Ppx_core__.Import.position ‑> end_:Ppx_core__.Import.position ‑> ghost:bool ‑> Ppx_core__.Import.locationval module_binding : name:string Ppx_core__.Import.loc ‑> expr:Ppx_core__.Import.module_expr ‑> Ppx_core__.Import.module_bindingval module_declaration : name:string Ppx_core__.Import.loc ‑> type_:Ppx_core__.Import.module_type ‑> Ppx_core__.Import.module_declarationval pmod_ident : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.module_exprval pmod_structure : Ppx_core__.Import.structure ‑> Ppx_core__.Import.module_exprval pmod_functor : string Ppx_core__.Import.loc ‑> Ppx_core__.Import.module_type option ‑> Ppx_core__.Import.module_expr ‑> Ppx_core__.Import.module_exprval pmod_apply : Ppx_core__.Import.module_expr ‑> Ppx_core__.Import.module_expr ‑> Ppx_core__.Import.module_exprval pmod_constraint : Ppx_core__.Import.module_expr ‑> Ppx_core__.Import.module_type ‑> Ppx_core__.Import.module_exprval pmod_unpack : Ppx_core__.Import.expression ‑> Ppx_core__.Import.module_exprval pmod_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.module_exprval pmty_ident : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.module_typeval pmty_signature : Ppx_core__.Import.signature ‑> Ppx_core__.Import.module_typeval pmty_functor : string Ppx_core__.Import.loc ‑> Ppx_core__.Import.module_type option ‑> Ppx_core__.Import.module_type ‑> Ppx_core__.Import.module_typeval pmty_with : Ppx_core__.Import.module_type ‑> Ppx_core__.Import.with_constraint list ‑> Ppx_core__.Import.module_typeval pmty_typeof : Ppx_core__.Import.module_expr ‑> Ppx_core__.Import.module_typeval pmty_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.module_typeval pmty_alias : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.module_typeval module_type_declaration : name:string Ppx_core__.Import.loc ‑> type_:Ppx_core__.Import.module_type option ‑> Ppx_core__.Import.module_type_declarationval open_description : lid:Ppx_core__.Import.longident_loc ‑> override:Ppx_core__.Import.override_flag ‑> Ppx_core__.Import.open_descriptionval ppat_any : Ppx_core__.Import.patternval ppat_var : string Ppx_core__.Import.loc ‑> Ppx_core__.Import.patternval ppat_alias : Ppx_core__.Import.pattern ‑> string Ppx_core__.Import.loc ‑> Ppx_core__.Import.patternval ppat_constant : Ppx_core__.Import.constant ‑> Ppx_core__.Import.patternval ppat_interval : Ppx_core__.Import.constant ‑> Ppx_core__.Import.constant ‑> Ppx_core__.Import.patternval ppat_tuple : Ppx_core__.Import.pattern list ‑> Ppx_core__.Import.patternval ppat_construct : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.pattern option ‑> Ppx_core__.Import.patternval ppat_variant : Ppx_core__.Import.label ‑> Ppx_core__.Import.pattern option ‑> Ppx_core__.Import.patternval ppat_record : (Ppx_core__.Import.longident_loc * Ppx_core__.Import.pattern) list ‑> Ppx_core__.Import.closed_flag ‑> Ppx_core__.Import.patternval ppat_array : Ppx_core__.Import.pattern list ‑> Ppx_core__.Import.patternval ppat_or : Ppx_core__.Import.pattern ‑> Ppx_core__.Import.pattern ‑> Ppx_core__.Import.patternval ppat_constraint : Ppx_core__.Import.pattern ‑> Ppx_core__.Import.core_type ‑> Ppx_core__.Import.patternval ppat_type : Ppx_core__.Import.longident_loc ‑> Ppx_core__.Import.patternval ppat_lazy : Ppx_core__.Import.pattern ‑> Ppx_core__.Import.patternval ppat_unpack : string Ppx_core__.Import.loc ‑> Ppx_core__.Import.patternval ppat_exception : Ppx_core__.Import.pattern ‑> Ppx_core__.Import.patternval ppat_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.patternval position : fname:string ‑> lnum:int ‑> bol:int ‑> cnum:int ‑> Ppx_core__.Import.positionval psig_value : Ppx_core__.Import.value_description ‑> Ppx_core__.Import.signature_itemval psig_type : Ppx_core__.Import.rec_flag ‑> Ppx_core__.Import.type_declaration list ‑> Ppx_core__.Import.signature_itemval psig_typext : Ppx_core__.Import.type_extension ‑> Ppx_core__.Import.signature_itemval psig_exception : Ppx_core__.Import.extension_constructor ‑> Ppx_core__.Import.signature_itemval psig_module : Ppx_core__.Import.module_declaration ‑> Ppx_core__.Import.signature_itemval psig_recmodule : Ppx_core__.Import.module_declaration list ‑> Ppx_core__.Import.signature_itemval psig_modtype : Ppx_core__.Import.module_type_declaration ‑> Ppx_core__.Import.signature_itemval psig_open : Ppx_core__.Import.open_description ‑> Ppx_core__.Import.signature_itemval psig_include : Ppx_core__.Import.include_description ‑> Ppx_core__.Import.signature_itemval psig_class : Ppx_core__.Import.class_description list ‑> Ppx_core__.Import.signature_itemval psig_class_type : Ppx_core__.Import.class_type_declaration list ‑> Ppx_core__.Import.signature_itemval psig_attribute : Ppx_core__.Import.attribute ‑> Ppx_core__.Import.signature_itemval psig_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.attributes ‑> Ppx_core__.Import.signature_itemval pstr_eval : Ppx_core__.Import.expression ‑> Ppx_core__.Import.attributes ‑> Ppx_core__.Import.structure_itemval pstr_value : Ppx_core__.Import.rec_flag ‑> Ppx_core__.Import.value_binding list ‑> Ppx_core__.Import.structure_itemval pstr_primitive : Ppx_core__.Import.value_description ‑> Ppx_core__.Import.structure_itemval pstr_type : Ppx_core__.Import.rec_flag ‑> Ppx_core__.Import.type_declaration list ‑> Ppx_core__.Import.structure_itemval pstr_typext : Ppx_core__.Import.type_extension ‑> Ppx_core__.Import.structure_itemval pstr_exception : Ppx_core__.Import.extension_constructor ‑> Ppx_core__.Import.structure_itemval pstr_module : Ppx_core__.Import.module_binding ‑> Ppx_core__.Import.structure_itemval pstr_recmodule : Ppx_core__.Import.module_binding list ‑> Ppx_core__.Import.structure_itemval pstr_modtype : Ppx_core__.Import.module_type_declaration ‑> Ppx_core__.Import.structure_itemval pstr_open : Ppx_core__.Import.open_description ‑> Ppx_core__.Import.structure_itemval pstr_class : Ppx_core__.Import.class_declaration list ‑> Ppx_core__.Import.structure_itemval pstr_class_type : Ppx_core__.Import.class_type_declaration list ‑> Ppx_core__.Import.structure_itemval pstr_include : Ppx_core__.Import.include_declaration ‑> Ppx_core__.Import.structure_itemval pstr_attribute : Ppx_core__.Import.attribute ‑> Ppx_core__.Import.structure_itemval pstr_extension : Ppx_core__.Import.extension ‑> Ppx_core__.Import.attributes ‑> Ppx_core__.Import.structure_itemval type_declaration : name:string Ppx_core__.Import.loc ‑> params:(Ppx_core__.Import.core_type * Ppx_core__.Import.variance) list ‑> cstrs:(Ppx_core__.Import.core_type * Ppx_core__.Import.core_type * Ppx_core__.Import.location) list ‑> kind:Ppx_core__.Import.type_kind ‑> private_:Ppx_core__.Import.private_flag ‑> manifest:Ppx_core__.Import.core_type option ‑> Ppx_core__.Import.type_declarationval type_extension : path:Ppx_core__.Import.longident_loc ‑> params:(Ppx_core__.Import.core_type * Ppx_core__.Import.variance) list ‑> constructors:Ppx_core__.Import.extension_constructor list ‑> private_:Ppx_core__.Import.private_flag ‑> Ppx_core__.Import.type_extensionval value_binding : pat:Ppx_core__.Import.pattern ‑> expr:Ppx_core__.Import.expression ‑> Ppx_core__.Import.value_bindingval value_description : name:string Ppx_core__.Import.loc ‑> type_:Ppx_core__.Import.core_type ‑> prim:string list ‑> Ppx_core__.Import.value_descriptioninclude Additional_helpers with type a with_loc := a without_locationval eint : (Ppx_core__.Import.int ‑> Ppx_core__.Import.expression) with_locval echar : (Ppx_core__.Import.char ‑> Ppx_core__.Import.expression) with_locval estring : (Ppx_core__.Import.string ‑> Ppx_core__.Import.expression) with_locval efloat : (Ppx_core__.Import.string ‑> Ppx_core__.Import.expression) with_locval eint32 : (Ppx_core__.Import.int32 ‑> Ppx_core__.Import.expression) with_locval eint64 : (Ppx_core__.Import.int64 ‑> Ppx_core__.Import.expression) with_locval enativeint : (Ppx_core__.Import.nativeint ‑> Ppx_core__.Import.expression) with_locval ebool : (Ppx_core__.Import.bool ‑> Ppx_core__.Import.expression) with_locval pint : (Ppx_core__.Import.int ‑> Ppx_core__.Import.pattern) with_locval pchar : (Ppx_core__.Import.char ‑> Ppx_core__.Import.pattern) with_locval pstring : (Ppx_core__.Import.string ‑> Ppx_core__.Import.pattern) with_locval pfloat : (Ppx_core__.Import.string ‑> Ppx_core__.Import.pattern) with_locval pint32 : (Ppx_core__.Import.int32 ‑> Ppx_core__.Import.pattern) with_locval pint64 : (Ppx_core__.Import.int64 ‑> Ppx_core__.Import.pattern) with_locval pnativeint : (Ppx_core__.Import.nativeint ‑> Ppx_core__.Import.pattern) with_locval pbool : (Ppx_core__.Import.bool ‑> Ppx_core__.Import.pattern) with_locval eunit : Ppx_core__.Import.expression with_locval punit : Ppx_core__.Import.pattern with_locval evar : (Ppx_core__.Import.string ‑> Ppx_core__.Import.expression) with_locevar id produces a Pexp_ident _ expression, it parses its input so you can pass
any dot-separated identifier, for instance: evar ~loc "Foo.bar".
val pvar : (Ppx_core__.Import.string ‑> Ppx_core__.Import.pattern) with_locval eapply : (Ppx_core__.Import.expression ‑> Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression) with_locSame as pexp_apply but without labels
val eabstract : (Ppx_core__.Import.pattern Ppx_core__.Import.list ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expression) with_locval esequence : (Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression) with_locval ppat_tuple_opt : (Ppx_core__.Import.pattern Ppx_core__.Import.list ‑> Ppx_core__.Import.pattern Ppx_core__.Import.option) with_locval pexp_tuple_opt : (Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression Ppx_core__.Import.option) with_locval plist : (Ppx_core__.Import.pattern Ppx_core__.Import.list ‑> Ppx_core__.Import.pattern) with_locval pstr_value_list : loc:Ppx_core.Location.t ‑> Ppx_core__.Import.Asttypes.rec_flag ‑> Ppx_core__.Import.value_binding Ppx_core__.Import.list ‑> Ppx_core__.Import.structure_item Ppx_core__.Import.listpstr_value_list ~loc rf vbs = pstr_value ~loc rf vbs if vbs <> [], []
otherwise.
val nonrec_type_declaration : (name:Ppx_core__.Import.string Ppx_core.Loc.t ‑> params:(Ppx_core__.Import.core_type * Ppx_core__.Import.Asttypes.variance) Ppx_core__.Import.list ‑> cstrs:(Ppx_core__.Import.core_type * Ppx_core__.Import.core_type * Ppx_core.Location.t) Ppx_core__.Import.list ‑> kind:Ppx_core__.Import.type_kind ‑> private_:Ppx_core__.Import.Asttypes.private_flag ‑> manifest:Ppx_core__.Import.core_type Ppx_core__.Import.option ‑> Ppx_core__.Import.type_declaration) with_locval unapplied_type_constr_conv : (Ppx_core.Longident.t Ppx_core.Loc.t ‑> f:(Ppx_core__.Import.string ‑> Ppx_core__.Import.string) ‑> Ppx_core__.Import.expression) with_locunapplied_type_constr_conv is the standard way to map identifiers to conversion
fonctions, for preprocessor that creates values that follow the structure of types.
More precisely, path_conv path (sprintf "sexp_of_%s") is:
type_constr_conv also applies it to a list of expression, which both prevents
the compiler from allocating useless closures, and almost always what is needed,
since type constructors are always applied.val type_constr_conv : (Ppx_core.Longident.t Ppx_core.Loc.t ‑> f:(Ppx_core__.Import.string ‑> Ppx_core__.Import.string) ‑> Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression) with_loc