Module Ppxlib__Ast_pattern

First class AST patterns

type ('a, 'b, 'c) t = ('a'b'c) Ppxlib__.Ast_pattern0.t

Type of a pattern:

  • 'a is the type of value matched by the pattern
  • 'b is the continuation, for instance for a pattern that captures an int and a string, 'b will be int -> string -> _
  • 'c is the result of the continuation.
val parse : ('a'b'c) t -> Ppxlib.Location.t -> ?⁠on_error:(Ppxlib__.Import.unit -> 'c) -> 'a -> 'b -> 'c

Matches a value against a pattern.

module Packed : sig ... end with type ('a, 'b, 'c) pattern := ('a'b'c) t
val __ : ('a'a -> 'b'b) t

Pattern that captures its input.

val __' : ('a'a Ppxlib.Loc.t -> 'b'b) t

Same as __ but also captures the location.

Note: this should only be used for types that do not embed a location. For instance you can use it to capture a string constant:

estring __'

but using it to capture an expression would not yield the expected result:

pair (eint (int 42)) __'

In the latter case you should use the pexp_loc field of the captured expression instead.

val alt : ('a'b'c) t -> ('a'b'c) t -> ('a'b'c) t

alt stands for `alternatives'. It matches either the first pattern or the second one.

val alt_option : ('a'v -> 'b'c) t -> ('a'b'c) t -> ('a'v Ppxlib__.Import.option -> 'b'c) t

Same as alt, for the common case where the left-hand-side captures a value but not the right-hand-side.

val (|||) : ('a'b'c) t -> ('a'b'c) t -> ('a'b'c) t

Same as alt

val map : ('a'b'c) t -> f:('d -> 'b) -> ('a'd'c) t
val map' : ('a'b'c) t -> f:(Ppxlib.Location.t -> 'd -> 'b) -> ('a'd'c) t
val map_result : ('a'b'c) t -> f:('c -> 'd) -> ('a'b'd) t
val (>>|) : ('a'b'c) t -> ('d -> 'b) -> ('a'd'c) t

Same as map

val map0 : ('a'b'c) t -> f:'v -> ('a'v -> 'b'c) t
val map1 : ('a'v1 -> 'b'c) t -> f:('v1 -> 'v) -> ('a'v -> 'b'c) t
val map2 : ('a'v1 -> 'v2 -> 'b'c) t -> f:('v1 -> 'v2 -> 'v) -> ('a'v -> 'b'c) t
val map0' : ('a'b'c) t -> f:(Ppxlib.Location.t -> 'v) -> ('a'v -> 'b'c) t
val map1' : ('a'v1 -> 'b'c) t -> f:(Ppxlib.Location.t -> 'v1 -> 'v) -> ('a'v -> 'b'c) t
val map2' : ('a'v1 -> 'v2 -> 'b'c) t -> f:(Ppxlib.Location.t -> 'v1 -> 'v2 -> 'v) -> ('a'v -> 'b'c) t
val nil : (_ Ppxlib__.Import.list'a'a) t
val (^::) : ('a'b'c) t -> ('a Ppxlib__.Import.list'c'd) t -> ('a Ppxlib__.Import.list'b'd) t
val many : ('a'b -> 'b'c) t -> ('a Ppxlib__.Import.list'c Ppxlib__.Import.list -> 'd'd) t
val int : Ppxlib__.Import.int -> (Ppxlib__.Import.int, 'a'a) t
val char : Ppxlib__.Import.char -> (Ppxlib__.Import.char, 'a'a) t
val string : Ppxlib__.Import.string -> (Ppxlib__.Import.string, 'a'a) t
val float : Ppxlib__.Import.float -> (Ppxlib__.Import.float, 'a'a) t
val int32 : Ppxlib__.Import.int32 -> (Ppxlib__.Import.int32, 'a'a) t
val int64 : Ppxlib__.Import.int64 -> (Ppxlib__.Import.int64, 'a'a) t
val nativeint : Ppxlib__.Import.nativeint -> (Ppxlib__.Import.nativeint, 'a'a) t
val bool : Ppxlib__.Import.bool -> (Ppxlib__.Import.bool, 'a'a) t
val cst : to_string:('a -> Ppxlib__.Import.string) -> ?⁠equal:('a -> 'a -> Ppxlib__.Import.bool) -> 'a -> ('a'b'b) t
val none : (_ Ppxlib__.Import.option'a'a) t
val some : ('a'b'c) t -> ('a Ppxlib__.Import.option'b'c) t
val pair : ('a1'b'c) t -> ('a2'c'd) t -> ('a1 * 'a2'b'd) t
val (**) : ('a1'b'c) t -> ('a2'c'd) t -> ('a1 * 'a2'b'd) t
val triple : ('a1'b'c) t -> ('a2'c'd) t -> ('a3'd'e) t -> ('a1 * 'a2 * 'a3'b'e) t
val loc : ('a'b'c) t -> ('a Ppxlib.Loc.t'b'c) t
val pack0 : ('a'b'c) t -> ('aPpxlib__.Import.unit -> 'b'c) t
val pack2 : ('a'b -> 'c -> 'd'e) t -> ('a('b * 'c) -> 'd'e) t
val pack3 : ('a'b -> 'c -> 'd -> 'e'f) t -> ('a('b * 'c * 'd) -> 'e'f) t

AST patterns for each constructur/record of the parsetree are generated in the same way AST builders are generated. In addition, for every t wrapper we generate a pattern to match the loc and attributes fields. For instanct for the expression type:

val pexp_loc
  :  (Location.t, 'a, 'b) t
  -> (expression, 'b, 'c) t
  -> (expression, 'a, 'c) t

val pexp_attributes
  :  (attributes, 'a, 'b) t
  -> (expression, 'b, 'c) t
  -> (expression, 'a, 'c) t
include module type of Ppxlib__.Ast_pattern_generated
val nolabel : (Ppxlib__.Import.arg_label'a'a) Ppxlib__.Ast_pattern0.t
val labelled : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.arg_label'a'b) Ppxlib__.Ast_pattern0.t
val optional : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.arg_label'a'b) Ppxlib__.Ast_pattern0.t
val attribute : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> payload:(Ppxlib__.Import.payload'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.attribute'a'c) Ppxlib__.Ast_pattern0.t
val binding_op : op:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> pat:(Ppxlib__.Import.pattern'b'c) Ppxlib__.Ast_pattern0.t -> exp:(Ppxlib__.Import.expression'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.binding_op'a'd) Ppxlib__.Ast_pattern0.t
val case : lhs:(Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> guard:(Ppxlib__.Import.expression option'b'c) Ppxlib__.Ast_pattern0.t -> rhs:(Ppxlib__.Import.expression'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.case'a'd) Ppxlib__.Ast_pattern0.t
val pcl_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'c) Ppxlib__.Ast_pattern0.t
val pcl_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'c) Ppxlib__.Ast_pattern0.t
val pcl_constr : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'c) Ppxlib__.Ast_pattern0.t
val pcl_structure : (Ppxlib__.Import.class_structure'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'b) Ppxlib__.Ast_pattern0.t
val pcl_fun : (Ppxlib__.Import.arg_label'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'd'e) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'e) Ppxlib__.Ast_pattern0.t
val pcl_apply : (Ppxlib__.Import.class_expr'a'b) Ppxlib__.Ast_pattern0.t -> ((Ppxlib__.Import.arg_label * Ppxlib__.Import.expression) list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'c) Ppxlib__.Ast_pattern0.t
val pcl_let : (Ppxlib__.Import.rec_flag'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_binding list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'd) Ppxlib__.Ast_pattern0.t
val pcl_constraint : (Ppxlib__.Import.class_expr'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'c) Ppxlib__.Ast_pattern0.t
val pcl_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'b) Ppxlib__.Ast_pattern0.t
val pcl_open : (Ppxlib__.Import.open_description'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'a'c) Ppxlib__.Ast_pattern0.t
val pcf_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'c) Ppxlib__.Ast_pattern0.t
val pcf_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'c) Ppxlib__.Ast_pattern0.t
val pcf_inherit : (Ppxlib__.Import.override_flag'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_expr'b'c) Ppxlib__.Ast_pattern0.t -> (string Ppxlib__.Import.loc option'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'd) Ppxlib__.Ast_pattern0.t
val pcf_val : (Ppxlib__.Import.label Ppxlib__.Import.loc * Ppxlib__.Import.mutable_flag * Ppxlib__.Import.class_field_kind'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'b) Ppxlib__.Ast_pattern0.t
val pcf_method : (Ppxlib__.Import.label Ppxlib__.Import.loc * Ppxlib__.Import.private_flag * Ppxlib__.Import.class_field_kind'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'b) Ppxlib__.Ast_pattern0.t
val pcf_constraint : (Ppxlib__.Import.core_type * Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'b) Ppxlib__.Ast_pattern0.t
val pcf_initializer : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'b) Ppxlib__.Ast_pattern0.t
val pcf_attribute : (Ppxlib__.Import.attribute'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'b) Ppxlib__.Ast_pattern0.t
val pcf_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field'a'b) Ppxlib__.Ast_pattern0.t
val cfk_virtual : (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field_kind'a'b) Ppxlib__.Ast_pattern0.t
val cfk_concrete : (Ppxlib__.Import.override_flag'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_field_kind'a'c) Ppxlib__.Ast_pattern0.t
val class_infos_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> ('c Ppxlib__.Import.class_infos'b'd) Ppxlib__.Ast_pattern0.t -> ('c Ppxlib__.Import.class_infos'a'd) Ppxlib__.Ast_pattern0.t
val class_infos : virt:(Ppxlib__.Import.virtual_flag'a'b) Ppxlib__.Ast_pattern0.t -> params:((Ppxlib__.Import.core_type * Ppxlib__.Import.variance) list'b'c) Ppxlib__.Ast_pattern0.t -> name:(string, 'c'd) Ppxlib__.Ast_pattern0.t -> expr:('e'd'f) Ppxlib__.Ast_pattern0.t -> ('e Ppxlib__.Import.class_infos'a'f) Ppxlib__.Ast_pattern0.t
val class_signature : self:(Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> fields:(Ppxlib__.Import.class_type_field list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_signature'a'c) Ppxlib__.Ast_pattern0.t
val class_structure : self:(Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> fields:(Ppxlib__.Import.class_field list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_structure'a'c) Ppxlib__.Ast_pattern0.t
val pcty_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'a'c) Ppxlib__.Ast_pattern0.t
val pcty_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'a'c) Ppxlib__.Ast_pattern0.t
val pcty_constr : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'a'c) Ppxlib__.Ast_pattern0.t
val pcty_signature : (Ppxlib__.Import.class_signature'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'a'b) Ppxlib__.Ast_pattern0.t
val pcty_arrow : (Ppxlib__.Import.arg_label'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'a'd) Ppxlib__.Ast_pattern0.t
val pcty_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'a'b) Ppxlib__.Ast_pattern0.t
val pcty_open : (Ppxlib__.Import.open_description'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type'a'c) Ppxlib__.Ast_pattern0.t
val pctf_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'a'c) Ppxlib__.Ast_pattern0.t
val pctf_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'a'c) Ppxlib__.Ast_pattern0.t
val pctf_inherit : (Ppxlib__.Import.class_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'a'b) Ppxlib__.Ast_pattern0.t
val pctf_val : (Ppxlib__.Import.label Ppxlib__.Import.loc * Ppxlib__.Import.mutable_flag * Ppxlib__.Import.virtual_flag * Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'a'b) Ppxlib__.Ast_pattern0.t
val pctf_method : (Ppxlib__.Import.label Ppxlib__.Import.loc * Ppxlib__.Import.private_flag * Ppxlib__.Import.virtual_flag * Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'a'b) Ppxlib__.Ast_pattern0.t
val pctf_constraint : (Ppxlib__.Import.core_type * Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'a'b) Ppxlib__.Ast_pattern0.t
val pctf_attribute : (Ppxlib__.Import.attribute'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'a'b) Ppxlib__.Ast_pattern0.t
val pctf_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.class_type_field'a'b) Ppxlib__.Ast_pattern0.t
val closed : (Ppxlib__.Import.closed_flag'a'a) Ppxlib__.Ast_pattern0.t
val open_ : (Ppxlib__.Import.closed_flag'a'a) Ppxlib__.Ast_pattern0.t
val pconst_integer : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (char option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constant'a'c) Ppxlib__.Ast_pattern0.t
val pconst_char : (char, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constant'a'b) Ppxlib__.Ast_pattern0.t
val pconst_string : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (string option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constant'a'c) Ppxlib__.Ast_pattern0.t
val pconst_float : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (char option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constant'a'c) Ppxlib__.Ast_pattern0.t
val pcstr_tuple : (Ppxlib__.Import.core_type list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constructor_arguments'a'b) Ppxlib__.Ast_pattern0.t
val pcstr_record : (Ppxlib__.Import.label_declaration list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constructor_arguments'a'b) Ppxlib__.Ast_pattern0.t
val constructor_declaration_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constructor_declaration'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constructor_declaration'a'c) Ppxlib__.Ast_pattern0.t
val constructor_declaration : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> args:(Ppxlib__.Import.constructor_arguments'b'c) Ppxlib__.Ast_pattern0.t -> res:(Ppxlib__.Import.core_type option'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constructor_declaration'a'd) Ppxlib__.Ast_pattern0.t
val ptyp_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'c) Ppxlib__.Ast_pattern0.t
val ptyp_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'c) Ppxlib__.Ast_pattern0.t
val ptyp_any : (Ppxlib__.Import.core_type'a'a) Ppxlib__.Ast_pattern0.t
val ptyp_var : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t
val ptyp_arrow : (Ppxlib__.Import.arg_label'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'd) Ppxlib__.Ast_pattern0.t
val ptyp_tuple : (Ppxlib__.Import.core_type list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t
val ptyp_constr : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'c) Ppxlib__.Ast_pattern0.t
val ptyp_object : (Ppxlib__.Import.object_field list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.closed_flag'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'c) Ppxlib__.Ast_pattern0.t
val ptyp_class : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'c) Ppxlib__.Ast_pattern0.t
val ptyp_alias : (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (string, 'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'c) Ppxlib__.Ast_pattern0.t
val ptyp_variant : (Ppxlib__.Import.row_field list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.closed_flag'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.label list option'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'd) Ppxlib__.Ast_pattern0.t
val ptyp_poly : (string Ppxlib__.Import.loc list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'c) Ppxlib__.Ast_pattern0.t
val ptyp_package : (Ppxlib__.Import.package_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t
val ptyp_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t
val upto : (Ppxlib__.Import.direction_flag'a'a) Ppxlib__.Ast_pattern0.t
val downto_ : (Ppxlib__.Import.direction_flag'a'a) Ppxlib__.Ast_pattern0.t
val pdira_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.directive_argument'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.directive_argument'a'c) Ppxlib__.Ast_pattern0.t
val pdir_string : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.directive_argument'a'b) Ppxlib__.Ast_pattern0.t
val pdir_int : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (char option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.directive_argument'a'c) Ppxlib__.Ast_pattern0.t
val pdir_ident : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.directive_argument'a'b) Ppxlib__.Ast_pattern0.t
val pdir_bool : (bool, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.directive_argument'a'b) Ppxlib__.Ast_pattern0.t
val pexp_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_ident : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_constant : (Ppxlib__.Import.constant'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_let : (Ppxlib__.Import.rec_flag'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_binding list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'd) Ppxlib__.Ast_pattern0.t
val pexp_function : (Ppxlib__.Import.case list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_fun : (Ppxlib__.Import.arg_label'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'd'e) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'e) Ppxlib__.Ast_pattern0.t
val pexp_apply : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> ((Ppxlib__.Import.arg_label * Ppxlib__.Import.expression) list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_match : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.case list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_try : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.case list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_tuple : (Ppxlib__.Import.expression list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_construct : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_variant : (Ppxlib__.Import.label'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_record : ((Ppxlib__.Import.longident_loc * Ppxlib__.Import.expression) list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_field : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.longident'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_setfield : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.longident'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'd) Ppxlib__.Ast_pattern0.t
val pexp_array : (Ppxlib__.Import.expression list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_ifthenelse : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression option'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'd) Ppxlib__.Ast_pattern0.t
val pexp_sequence : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_while : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_for : (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.direction_flag'd'e) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'e'f) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'f) Ppxlib__.Ast_pattern0.t
val pexp_constraint : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_coerce : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'd) Ppxlib__.Ast_pattern0.t
val pexp_send : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.label'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_new : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_setinstvar : (Ppxlib__.Import.label'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_override : ((Ppxlib__.Import.label Ppxlib__.Import.loc * Ppxlib__.Import.expression) list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_letmodule : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'd) Ppxlib__.Ast_pattern0.t
val pexp_letexception : (Ppxlib__.Import.extension_constructor'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_assert : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_lazy : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_poly : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_object : (Ppxlib__.Import.class_structure'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_newtype : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_pack : (Ppxlib__.Import.module_expr'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_open : (Ppxlib__.Import.open_declaration'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'c) Ppxlib__.Ast_pattern0.t
val pexp_letop : (Ppxlib__.Import.letop'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t
val pexp_unreachable : (Ppxlib__.Import.expression'a'a) Ppxlib__.Ast_pattern0.t
val extension_constructor_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.extension_constructor'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.extension_constructor'a'c) Ppxlib__.Ast_pattern0.t
val extension_constructor : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> kind:(Ppxlib__.Import.extension_constructor_kind'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.extension_constructor'a'c) Ppxlib__.Ast_pattern0.t
val pext_decl : (Ppxlib__.Import.constructor_arguments'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.extension_constructor_kind'a'c) Ppxlib__.Ast_pattern0.t
val pext_rebind : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.extension_constructor_kind'a'b) Ppxlib__.Ast_pattern0.t
val include_infos_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> ('c Ppxlib__.Import.include_infos'b'd) Ppxlib__.Ast_pattern0.t -> ('c Ppxlib__.Import.include_infos'a'd) Ppxlib__.Ast_pattern0.t
val include_infos : mod_:('a'b'c) Ppxlib__.Ast_pattern0.t -> ('a Ppxlib__.Import.include_infos'b'c) Ppxlib__.Ast_pattern0.t
val label_declaration_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.label_declaration'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.label_declaration'a'c) Ppxlib__.Ast_pattern0.t
val label_declaration : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> mutable_:(Ppxlib__.Import.mutable_flag'b'c) Ppxlib__.Ast_pattern0.t -> type_:(Ppxlib__.Import.core_type'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.label_declaration'a'd) Ppxlib__.Ast_pattern0.t
val letop : let_:(Ppxlib__.Import.binding_op'a'b) Ppxlib__.Ast_pattern0.t -> ands:(Ppxlib__.Import.binding_op list'b'c) Ppxlib__.Ast_pattern0.t -> body:(Ppxlib__.Import.expression'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.letop'a'd) Ppxlib__.Ast_pattern0.t
val location : start:(Ppxlib__.Import.position'a'b) Ppxlib__.Ast_pattern0.t -> end_:(Ppxlib__.Import.position'b'c) Ppxlib__.Ast_pattern0.t -> ghost:(bool, 'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.location'a'd) Ppxlib__.Ast_pattern0.t
val lident : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t
val ldot : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (string, 'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.longident'a'c) Ppxlib__.Ast_pattern0.t
val lapply : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.longident'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.longident'a'c) Ppxlib__.Ast_pattern0.t
val module_binding_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_binding'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_binding'a'c) Ppxlib__.Ast_pattern0.t
val module_binding : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> expr:(Ppxlib__.Import.module_expr'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_binding'a'c) Ppxlib__.Ast_pattern0.t
val module_declaration_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_declaration'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_declaration'a'c) Ppxlib__.Ast_pattern0.t
val module_declaration : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> type_:(Ppxlib__.Import.module_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_declaration'a'c) Ppxlib__.Ast_pattern0.t
val pmod_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'c) Ppxlib__.Ast_pattern0.t
val pmod_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'c) Ppxlib__.Ast_pattern0.t
val pmod_ident : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'b) Ppxlib__.Ast_pattern0.t
val pmod_structure : (Ppxlib__.Import.structure'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'b) Ppxlib__.Ast_pattern0.t
val pmod_functor : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'd) Ppxlib__.Ast_pattern0.t
val pmod_apply : (Ppxlib__.Import.module_expr'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'c) Ppxlib__.Ast_pattern0.t
val pmod_constraint : (Ppxlib__.Import.module_expr'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'c) Ppxlib__.Ast_pattern0.t
val pmod_unpack : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'b) Ppxlib__.Ast_pattern0.t
val pmod_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_expr'a'b) Ppxlib__.Ast_pattern0.t
val module_substitution_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_substitution'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_substitution'a'c) Ppxlib__.Ast_pattern0.t
val module_substitution : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> manifest:(Ppxlib__.Import.longident'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_substitution'a'c) Ppxlib__.Ast_pattern0.t
val pmty_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'c) Ppxlib__.Ast_pattern0.t
val pmty_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'c) Ppxlib__.Ast_pattern0.t
val pmty_ident : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'b) Ppxlib__.Ast_pattern0.t
val pmty_signature : (Ppxlib__.Import.signature'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'b) Ppxlib__.Ast_pattern0.t
val pmty_functor : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'd) Ppxlib__.Ast_pattern0.t
val pmty_with : (Ppxlib__.Import.module_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.with_constraint list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'c) Ppxlib__.Ast_pattern0.t
val pmty_typeof : (Ppxlib__.Import.module_expr'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'b) Ppxlib__.Ast_pattern0.t
val pmty_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'b) Ppxlib__.Ast_pattern0.t
val pmty_alias : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type'a'b) Ppxlib__.Ast_pattern0.t
val module_type_declaration_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type_declaration'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type_declaration'a'c) Ppxlib__.Ast_pattern0.t
val module_type_declaration : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> type_:(Ppxlib__.Import.module_type option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.module_type_declaration'a'c) Ppxlib__.Ast_pattern0.t
val immutable : (Ppxlib__.Import.mutable_flag'a'a) Ppxlib__.Ast_pattern0.t
val mutable_ : (Ppxlib__.Import.mutable_flag'a'a) Ppxlib__.Ast_pattern0.t
val pof_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.object_field'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.object_field'a'c) Ppxlib__.Ast_pattern0.t
val pof_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.object_field'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.object_field'a'c) Ppxlib__.Ast_pattern0.t
val otag : (Ppxlib__.Import.label'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.object_field'a'c) Ppxlib__.Ast_pattern0.t
val oinherit : (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.object_field'a'b) Ppxlib__.Ast_pattern0.t
val open_infos_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> ('c Ppxlib__.Import.open_infos'b'd) Ppxlib__.Ast_pattern0.t -> ('c Ppxlib__.Import.open_infos'a'd) Ppxlib__.Ast_pattern0.t
val open_infos : expr:('a'b'c) Ppxlib__.Ast_pattern0.t -> override:(Ppxlib__.Import.override_flag'c'd) Ppxlib__.Ast_pattern0.t -> ('a Ppxlib__.Import.open_infos'b'd) Ppxlib__.Ast_pattern0.t
val override : (Ppxlib__.Import.override_flag'a'a) Ppxlib__.Ast_pattern0.t
val fresh : (Ppxlib__.Import.override_flag'a'a) Ppxlib__.Ast_pattern0.t
val ppat_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_any : (Ppxlib__.Import.pattern'a'a) Ppxlib__.Ast_pattern0.t
val ppat_var : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_alias : (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> (string, 'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_constant : (Ppxlib__.Import.constant'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_interval : (Ppxlib__.Import.constant'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.constant'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_tuple : (Ppxlib__.Import.pattern list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_construct : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_variant : (Ppxlib__.Import.label'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_record : ((Ppxlib__.Import.longident_loc * Ppxlib__.Import.pattern) list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.closed_flag'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_array : (Ppxlib__.Import.pattern list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_or : (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_constraint : (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val ppat_type : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_lazy : (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_unpack : (string, 'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_exception : (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t
val ppat_open : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.pattern'a'c) Ppxlib__.Ast_pattern0.t
val pstr : (Ppxlib__.Import.structure'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.payload'a'b) Ppxlib__.Ast_pattern0.t
val psig : (Ppxlib__.Import.signature'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.payload'a'b) Ppxlib__.Ast_pattern0.t
val ptyp : (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.payload'a'b) Ppxlib__.Ast_pattern0.t
val ppat : (Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.expression option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.payload'a'c) Ppxlib__.Ast_pattern0.t
val position : fname:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> lnum:(int, 'b'c) Ppxlib__.Ast_pattern0.t -> bol:(int, 'c'd) Ppxlib__.Ast_pattern0.t -> cnum:(int, 'd'e) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.position'a'e) Ppxlib__.Ast_pattern0.t
val private_ : (Ppxlib__.Import.private_flag'a'a) Ppxlib__.Ast_pattern0.t
val public : (Ppxlib__.Import.private_flag'a'a) Ppxlib__.Ast_pattern0.t
val nonrecursive : (Ppxlib__.Import.rec_flag'a'a) Ppxlib__.Ast_pattern0.t
val recursive : (Ppxlib__.Import.rec_flag'a'a) Ppxlib__.Ast_pattern0.t
val prf_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.row_field'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.row_field'a'c) Ppxlib__.Ast_pattern0.t
val prf_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.row_field'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.row_field'a'c) Ppxlib__.Ast_pattern0.t
val rtag : (Ppxlib__.Import.label'a'b) Ppxlib__.Ast_pattern0.t -> (bool, 'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.core_type list'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.row_field'a'd) Ppxlib__.Ast_pattern0.t
val rinherit : (Ppxlib__.Import.core_type'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.row_field'a'b) Ppxlib__.Ast_pattern0.t
val psig_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'c) Ppxlib__.Ast_pattern0.t
val psig_value : (Ppxlib__.Import.value_description'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_type : (Ppxlib__.Import.rec_flag'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_declaration list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'c) Ppxlib__.Ast_pattern0.t
val psig_typesubst : (Ppxlib__.Import.type_declaration list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_typext : (Ppxlib__.Import.type_extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_exception : (Ppxlib__.Import.type_exception'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_module : (Ppxlib__.Import.module_declaration'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_modsubst : (Ppxlib__.Import.module_substitution'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_recmodule : (Ppxlib__.Import.module_declaration list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_modtype : (Ppxlib__.Import.module_type_declaration'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_open : (Ppxlib__.Import.open_description'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_include : (Ppxlib__.Import.include_description'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_class : (Ppxlib__.Import.class_description list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_class_type : (Ppxlib__.Import.class_type_declaration list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_attribute : (Ppxlib__.Import.attribute'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'b) Ppxlib__.Ast_pattern0.t
val psig_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.attributes'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.signature_item'a'c) Ppxlib__.Ast_pattern0.t
val pstr_loc : (Ppxlib__.Import.location'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'c) Ppxlib__.Ast_pattern0.t
val pstr_eval : (Ppxlib__.Import.expression'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.attributes'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'c) Ppxlib__.Ast_pattern0.t
val pstr_value : (Ppxlib__.Import.rec_flag'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_binding list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'c) Ppxlib__.Ast_pattern0.t
val pstr_primitive : (Ppxlib__.Import.value_description'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_type : (Ppxlib__.Import.rec_flag'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_declaration list'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'c) Ppxlib__.Ast_pattern0.t
val pstr_typext : (Ppxlib__.Import.type_extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_exception : (Ppxlib__.Import.type_exception'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_module : (Ppxlib__.Import.module_binding'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_recmodule : (Ppxlib__.Import.module_binding list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_modtype : (Ppxlib__.Import.module_type_declaration'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_open : (Ppxlib__.Import.open_declaration'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_class : (Ppxlib__.Import.class_declaration list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_class_type : (Ppxlib__.Import.class_type_declaration list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_include : (Ppxlib__.Import.include_declaration'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_attribute : (Ppxlib__.Import.attribute'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'b) Ppxlib__.Ast_pattern0.t
val pstr_extension : (Ppxlib__.Import.extension'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.attributes'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.structure_item'a'c) Ppxlib__.Ast_pattern0.t
val toplevel_directive : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> arg:(Ppxlib__.Import.directive_argument option'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.toplevel_directive'a'c) Ppxlib__.Ast_pattern0.t
val ptop_def : (Ppxlib__.Import.structure'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.toplevel_phrase'a'b) Ppxlib__.Ast_pattern0.t
val ptop_dir : (Ppxlib__.Import.toplevel_directive'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.toplevel_phrase'a'b) Ppxlib__.Ast_pattern0.t
val type_declaration_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_declaration'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_declaration'a'c) Ppxlib__.Ast_pattern0.t
val type_declaration : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> params:((Ppxlib__.Import.core_type * Ppxlib__.Import.variance) list'b'c) Ppxlib__.Ast_pattern0.t -> cstrs:((Ppxlib__.Import.core_type * Ppxlib__.Import.core_type * Ppxlib__.Import.location) list'c'd) Ppxlib__.Ast_pattern0.t -> kind:(Ppxlib__.Import.type_kind'd'e) Ppxlib__.Ast_pattern0.t -> private_:(Ppxlib__.Import.private_flag'e'f) Ppxlib__.Ast_pattern0.t -> manifest:(Ppxlib__.Import.core_type option'f'g) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_declaration'a'g) Ppxlib__.Ast_pattern0.t
val type_exception_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_exception'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_exception'a'c) Ppxlib__.Ast_pattern0.t
val type_exception : constructor:(Ppxlib__.Import.extension_constructor'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_exception'a'b) Ppxlib__.Ast_pattern0.t
val type_extension_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_extension'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_extension'a'c) Ppxlib__.Ast_pattern0.t
val type_extension : path:(Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> params:((Ppxlib__.Import.core_type * Ppxlib__.Import.variance) list'b'c) Ppxlib__.Ast_pattern0.t -> constructors:(Ppxlib__.Import.extension_constructor list'c'd) Ppxlib__.Ast_pattern0.t -> private_:(Ppxlib__.Import.private_flag'd'e) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_extension'a'e) Ppxlib__.Ast_pattern0.t
val ptype_abstract : (Ppxlib__.Import.type_kind'a'a) Ppxlib__.Ast_pattern0.t
val ptype_variant : (Ppxlib__.Import.constructor_declaration list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_kind'a'b) Ppxlib__.Ast_pattern0.t
val ptype_record : (Ppxlib__.Import.label_declaration list'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_kind'a'b) Ppxlib__.Ast_pattern0.t
val ptype_open : (Ppxlib__.Import.type_kind'a'a) Ppxlib__.Ast_pattern0.t
val value_binding_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_binding'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_binding'a'c) Ppxlib__.Ast_pattern0.t
val value_binding : pat:(Ppxlib__.Import.pattern'a'b) Ppxlib__.Ast_pattern0.t -> expr:(Ppxlib__.Import.expression'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_binding'a'c) Ppxlib__.Ast_pattern0.t
val value_description_attributes : (Ppxlib__.Import.attributes'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_description'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_description'a'c) Ppxlib__.Ast_pattern0.t
val value_description : name:(string, 'a'b) Ppxlib__.Ast_pattern0.t -> type_:(Ppxlib__.Import.core_type'b'c) Ppxlib__.Ast_pattern0.t -> prim:(string list'c'd) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.value_description'a'd) Ppxlib__.Ast_pattern0.t
val covariant : (Ppxlib__.Import.variance'a'a) Ppxlib__.Ast_pattern0.t
val contravariant : (Ppxlib__.Import.variance'a'a) Ppxlib__.Ast_pattern0.t
val invariant : (Ppxlib__.Import.variance'a'a) Ppxlib__.Ast_pattern0.t
val virtual_ : (Ppxlib__.Import.virtual_flag'a'a) Ppxlib__.Ast_pattern0.t
val concrete : (Ppxlib__.Import.virtual_flag'a'a) Ppxlib__.Ast_pattern0.t
val pwith_type : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_declaration'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.with_constraint'a'c) Ppxlib__.Ast_pattern0.t
val pwith_module : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.longident'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.with_constraint'a'c) Ppxlib__.Ast_pattern0.t
val pwith_typesubst : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.type_declaration'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.with_constraint'a'c) Ppxlib__.Ast_pattern0.t
val pwith_modsubst : (Ppxlib__.Import.longident'a'b) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.longident'b'c) Ppxlib__.Ast_pattern0.t -> (Ppxlib__.Import.with_constraint'a'c) Ppxlib__.Ast_pattern0.t
val true_ : (Ppxlib__.Import.bool, 'a'a) t
val false_ : (Ppxlib__.Import.bool, 'a'a) t
val eint : (Ppxlib__.Import.int, 'a'b) t -> (Ppxlib__.Import.expression'a'b) t
val echar : (Ppxlib__.Import.char, 'a'b) t -> (Ppxlib__.Import.expression'a'b) t
val estring : (Ppxlib__.Import.string, 'a'b) t -> (Ppxlib__.Import.expression'a'b) t
val efloat : (Ppxlib__.Import.string, 'a'b) t -> (Ppxlib__.Import.expression'a'b) t
val eint32 : (Ppxlib__.Import.int32, 'a'b) t -> (Ppxlib__.Import.expression'a'b) t
val eint64 : (Ppxlib__.Import.int64, 'a'b) t -> (Ppxlib__.Import.expression'a'b) t
val enativeint : (Ppxlib__.Import.nativeint, 'a'b) t -> (Ppxlib__.Import.expression'a'b) t
val pint : (Ppxlib__.Import.int, 'a'b) t -> (Ppxlib__.Import.pattern'a'b) t
val pchar : (Ppxlib__.Import.char, 'a'b) t -> (Ppxlib__.Import.pattern'a'b) t
val pstring : (Ppxlib__.Import.string, 'a'b) t -> (Ppxlib__.Import.pattern'a'b) t
val pfloat : (Ppxlib__.Import.string, 'a'b) t -> (Ppxlib__.Import.pattern'a'b) t
val pint32 : (Ppxlib__.Import.int32, 'a'b) t -> (Ppxlib__.Import.pattern'a'b) t
val pint64 : (Ppxlib__.Import.int64, 'a'b) t -> (Ppxlib__.Import.pattern'a'b) t
val pnativeint : (Ppxlib__.Import.nativeint, 'a'b) t -> (Ppxlib__.Import.pattern'a'b) t
val single_expr_payload : (Ppxlib__.Import.expression'a'b) t -> (Ppxlib__.Import.payload'a'b) t
val no_label : (Ppxlib__.Import.expression'a'b) t -> (Ppxlib__.Import.Asttypes.arg_label * Ppxlib__.Import.expression'a'b) t
val attribute : name:(Ppxlib__.Import.string, 'a'b) t -> payload:(Ppxlib__.Import.payload'b'c) t -> (Ppxlib__.Import.attribute'a'c) t
val extension : (Ppxlib__.Import.string, 'a'b) t -> (Ppxlib__.Import.payload'b'c) t -> (Ppxlib__.Import.extension'a'c) t
val elist : (Ppxlib__.Import.expression'a -> 'a'b) t -> (Ppxlib__.Import.expression'b Ppxlib__.Import.list -> 'c'c) t
type context
val of_func : (context -> Ppxlib.Location.t -> 'a -> 'b -> 'c) -> ('a'b'c) t
val to_func : ('a'b'c) t -> context -> Ppxlib.Location.t -> 'a -> 'b -> 'c