sig
  module Label :
    sig
      type t = string
      type desc = Nolabel | Labelled of string | Optional of string
      val explode :
        Ast_convenience_402.Label.t -> Ast_convenience_402.Label.desc
      val nolabel : Ast_convenience_402.Label.t
      val labelled : string -> Ast_convenience_402.Label.t
      val optional : string -> Ast_convenience_402.Label.t
    end
  module Constant :
    sig
      type t =
          Pconst_integer of string * char option
        | Pconst_char of char
        | Pconst_string of string * string option
        | Pconst_float of string * char option
      exception Unknown_literal of string * char
      val of_constant :
        Ast_402.Asttypes.constant -> Ast_convenience_402.Constant.t
      val to_constant :
        Ast_convenience_402.Constant.t -> Ast_402.Asttypes.constant
    end
  val lid : ?loc:Ast_402.Ast_helper.loc -> string -> Ast_402.Ast_helper.lid
  val evar :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> string -> Ast_402.Parsetree.expression
  val let_in :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    ?recursive:bool ->
    Ast_402.Parsetree.value_binding list ->
    Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression
  val constr :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    string ->
    Ast_402.Parsetree.expression list -> Ast_402.Parsetree.expression
  val record :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    ?over:Ast_402.Parsetree.expression ->
    (string * Ast_402.Parsetree.expression) list ->
    Ast_402.Parsetree.expression
  val tuple :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    Ast_402.Parsetree.expression list -> Ast_402.Parsetree.expression
  val nil :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> unit -> Ast_402.Parsetree.expression
  val cons :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    Ast_402.Parsetree.expression ->
    Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression
  val list :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    Ast_402.Parsetree.expression list -> Ast_402.Parsetree.expression
  val unit :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> unit -> Ast_402.Parsetree.expression
  val func :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    (Ast_402.Parsetree.pattern * Ast_402.Parsetree.expression) list ->
    Ast_402.Parsetree.expression
  val lam :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    ?label:Ast_convenience_402.Label.t ->
    ?default:Ast_402.Parsetree.expression ->
    Ast_402.Parsetree.pattern ->
    Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression
  val app :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    Ast_402.Parsetree.expression ->
    Ast_402.Parsetree.expression list -> Ast_402.Parsetree.expression
  val str :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> string -> Ast_402.Parsetree.expression
  val int :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> int -> Ast_402.Parsetree.expression
  val char :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> char -> Ast_402.Parsetree.expression
  val float :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> float -> Ast_402.Parsetree.expression
  val sequence :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    Ast_402.Parsetree.expression list -> Ast_402.Parsetree.expression
  val pvar :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> string -> Ast_402.Parsetree.pattern
  val pconstr :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    string -> Ast_402.Parsetree.pattern list -> Ast_402.Parsetree.pattern
  val precord :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    ?closed:Ast_402.Asttypes.closed_flag ->
    (string * Ast_402.Parsetree.pattern) list -> Ast_402.Parsetree.pattern
  val ptuple :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    Ast_402.Parsetree.pattern list -> Ast_402.Parsetree.pattern
  val pnil :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> unit -> Ast_402.Parsetree.pattern
  val pcons :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    Ast_402.Parsetree.pattern ->
    Ast_402.Parsetree.pattern -> Ast_402.Parsetree.pattern
  val plist :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    Ast_402.Parsetree.pattern list -> Ast_402.Parsetree.pattern
  val pstr :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> string -> Ast_402.Parsetree.pattern
  val pint :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> int -> Ast_402.Parsetree.pattern
  val pchar :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> char -> Ast_402.Parsetree.pattern
  val pfloat :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> float -> Ast_402.Parsetree.pattern
  val punit :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs -> unit -> Ast_402.Parsetree.pattern
  val tconstr :
    ?loc:Ast_402.Ast_helper.loc ->
    ?attrs:Ast_402.Ast_helper.attrs ->
    string -> Ast_402.Parsetree.core_type list -> Ast_402.Parsetree.core_type
  val get_str : Ast_402.Parsetree.expression -> string option
  val get_str_with_quotation_delimiter :
    Ast_402.Parsetree.expression -> (string * string option) option
  val get_lid : Ast_402.Parsetree.expression -> string option
  val has_attr : string -> Ast_402.Parsetree.attributes -> bool
  val find_attr :
    string ->
    Ast_402.Parsetree.attributes -> Ast_402.Parsetree.payload option
  val find_attr_expr :
    string ->
    Ast_402.Parsetree.attributes -> Ast_402.Parsetree.expression option
end