sig
  val mk 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression_desc -> Parsetree.expression
  val attr 
    Parsetree.expression -> Parsetree.attribute -> Parsetree.expression
  val ident 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs -> Ast_helper.lid -> Parsetree.expression
  val constant 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs -> Parsetree.constant -> Parsetree.expression
  val let_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Asttypes.rec_flag ->
    Parsetree.value_binding list ->
    Parsetree.expression -> Parsetree.expression
  val function_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.function_param list ->
    Parsetree.type_constraint option ->
    Parsetree.function_body -> Parsetree.expression
  val apply 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression ->
    (Asttypes.arg_label * Parsetree.expression) list -> Parsetree.expression
  val match_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression -> Parsetree.case list -> Parsetree.expression
  val try_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression -> Parsetree.case list -> Parsetree.expression
  val tuple 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression list -> Parsetree.expression
  val construct 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Ast_helper.lid -> Parsetree.expression option -> Parsetree.expression
  val variant 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Asttypes.label -> Parsetree.expression option -> Parsetree.expression
  val record 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    (Ast_helper.lid * Parsetree.expression) list ->
    Parsetree.expression option -> Parsetree.expression
  val field 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression -> Ast_helper.lid -> Parsetree.expression
  val setfield 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression ->
    Ast_helper.lid -> Parsetree.expression -> Parsetree.expression
  val array 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression list -> Parsetree.expression
  val ifthenelse 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression ->
    Parsetree.expression ->
    Parsetree.expression option -> Parsetree.expression
  val sequence 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression -> Parsetree.expression -> Parsetree.expression
  val while_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression -> Parsetree.expression -> Parsetree.expression
  val for_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.pattern ->
    Parsetree.expression ->
    Parsetree.expression ->
    Asttypes.direction_flag -> Parsetree.expression -> Parsetree.expression
  val coerce 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression ->
    Parsetree.core_type option -> Parsetree.core_type -> Parsetree.expression
  val constraint_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression -> Parsetree.core_type -> Parsetree.expression
  val send 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression -> Ast_helper.str -> Parsetree.expression
  val new_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs -> Ast_helper.lid -> Parsetree.expression
  val setinstvar 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Ast_helper.str -> Parsetree.expression -> Parsetree.expression
  val override 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    (Ast_helper.str * Parsetree.expression) list -> Parsetree.expression
  val letmodule 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Ast_helper.str_opt ->
    Parsetree.module_expr -> Parsetree.expression -> Parsetree.expression
  val letexception 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.extension_constructor ->
    Parsetree.expression -> Parsetree.expression
  val assert_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs -> Parsetree.expression -> Parsetree.expression
  val lazy_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs -> Parsetree.expression -> Parsetree.expression
  val poly 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.expression ->
    Parsetree.core_type option -> Parsetree.expression
  val object_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.class_structure -> Parsetree.expression
  val newtype 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Ast_helper.str -> Parsetree.expression -> Parsetree.expression
  val pack 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs -> Parsetree.module_expr -> Parsetree.expression
  val open_ 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.open_declaration ->
    Parsetree.expression -> Parsetree.expression
  val letop 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs ->
    Parsetree.binding_op ->
    Parsetree.binding_op list -> Parsetree.expression -> Parsetree.expression
  val extension 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs -> Parsetree.extension -> Parsetree.expression
  val unreachable 
    ?loc:Ast_helper.loc ->
    ?attrs:Ast_helper.attrs -> unit -> Parsetree.expression
  val case 
    Parsetree.pattern ->
    ?guard:Parsetree.expression -> Parsetree.expression -> Parsetree.case
  val binding_op 
    Ast_helper.str ->
    Parsetree.pattern ->
    Parsetree.expression -> Ast_helper.loc -> Parsetree.binding_op
end