Module Deriving.Args

Specification of generator arguments

type ('a, 'b) t
type 'a param
val empty : ('m'm) t
val arg : Base.String.t -> (Migrate_parsetree.Ast_408.Parsetree.expression'a -> 'a Base.Option.t'a Base.Option.t) Ast_pattern.t -> 'a Base.Option.t param

Flag matches punned labelled argument, i.e. of the form ~foo. It returns true iff the argument is present.

val (+>) : ('m1'a -> 'm2) t -> 'a param -> ('m1'm2) t

For convenience, so that one can write the following without having to open both Ast_pattern and Deriving.Args:

include module type of struct include Ast_pattern end with type ('a, 'b, 'c) t := ('a'b'c) Ast_pattern.t
val parse : ('a'b'c) Ast_pattern.t -> Location.t -> ?⁠on_error:(Base.Unit.t -> 'c) -> 'a -> 'b -> 'c

Matches a value against a pattern.

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

Pattern that captures its input.

val __' : ('a'b'c) Ast_pattern.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) Ast_pattern.t -> ('a'b'c) Ast_pattern.t -> ('a'b'c) Ast_pattern.t

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

val alt_option : ('a'b'c) Ast_pattern.t -> ('a'b'c) Ast_pattern.t -> ('a'b'c) Ast_pattern.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) Ast_pattern.t -> ('a'b'c) Ast_pattern.t -> ('a'b'c) Ast_pattern.t

Same as alt

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

Same as map

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