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