# Module Ast_402.Ast_helper.Exp

    module Exp: sig .. end

    val mk : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression_desc -> Ast_402.Parsetree.expression

    val attr : Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.attribute -> Ast_402.Parsetree.expression

    val ident : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Longident.t Ast_402.Asttypes.loc -> Ast_402.Parsetree.expression

    val constant : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Asttypes.constant -> Ast_402.Parsetree.expression

    val let_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Asttypes.rec_flag ->
           Ast_402.Parsetree.value_binding list ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val fun_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Asttypes.label ->
           Ast_402.Parsetree.expression option ->
           Ast_402.Parsetree.pattern ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val function_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.case list -> Ast_402.Parsetree.expression

    val apply : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           (Ast_402.Asttypes.label * Ast_402.Parsetree.expression) list ->
           Ast_402.Parsetree.expression

    val match_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.case list -> Ast_402.Parsetree.expression

    val try_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.case list -> Ast_402.Parsetree.expression

    val tuple : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression list -> Ast_402.Parsetree.expression

    val construct : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Longident.t Ast_402.Asttypes.loc ->
           Ast_402.Parsetree.expression option -> Ast_402.Parsetree.expression

    val variant : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Asttypes.label ->
           Ast_402.Parsetree.expression option -> Ast_402.Parsetree.expression

    val record : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           (Longident.t Ast_402.Asttypes.loc * Ast_402.Parsetree.expression) list ->
           Ast_402.Parsetree.expression option -> Ast_402.Parsetree.expression

    val field : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Longident.t Ast_402.Asttypes.loc -> Ast_402.Parsetree.expression

    val setfield : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Longident.t Ast_402.Asttypes.loc ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val array : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression list -> Ast_402.Parsetree.expression

    val ifthenelse : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.expression option -> Ast_402.Parsetree.expression

    val sequence : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val while_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val for_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.pattern ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.expression ->
           Ast_402.Asttypes.direction_flag ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val constraint_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.core_type -> Ast_402.Parsetree.expression

    val coerce : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.core_type option ->
           Ast_402.Parsetree.core_type -> Ast_402.Parsetree.expression

    val send : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression -> string -> Ast_402.Parsetree.expression

    val new_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Longident.t Ast_402.Asttypes.loc -> Ast_402.Parsetree.expression

    val setinstvar : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           string Ast_402.Asttypes.loc ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val override : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           (string Ast_402.Asttypes.loc * Ast_402.Parsetree.expression) list ->
           Ast_402.Parsetree.expression

    val letmodule : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           string Ast_402.Asttypes.loc ->
           Ast_402.Parsetree.module_expr ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val assert_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val lazy_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val poly : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.core_type option -> Ast_402.Parsetree.expression

    val object_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.class_structure -> Ast_402.Parsetree.expression

    val newtype : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           string -> Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val pack : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.module_expr -> Ast_402.Parsetree.expression

    val open_ : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Asttypes.override_flag ->
           Longident.t Ast_402.Asttypes.loc ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.expression

    val extension : ?loc:Location.t ->
           ?attrs:Ast_402.Parsetree.attributes ->
           Ast_402.Parsetree.extension -> Ast_402.Parsetree.expression

    val case : Ast_402.Parsetree.pattern ->
           ?guard:Ast_402.Parsetree.expression ->
           Ast_402.Parsetree.expression -> Ast_402.Parsetree.case