Js_of_ocaml_compiler.Javascriptmodule Num : sig ... endmodule Label : sig ... endtype identifier = Stdlib.Utf8_string.tand array_litteral = element_listand element_list = element listand arguments = argument listand property_list = property listand property = | Property of property_name * expression| PropertySpread of expression| PropertyMethod of property_name * method_| CoverInitializedName of early_error * ident * initialiserand method_ = | MethodGet of function_declaration| MethodSet of function_declaration| Method of function_declarationand property_name = | PNI of identifier| PNS of Stdlib.Utf8_string.t| PNN of Num.t| PComputed of expressionand expression = | ESeq of expression * expression| ECond of expression * expression * expression| EAssignTarget of assignment_target| EBin of binop * expression * expression| EUn of unop * expression| ECall of expression * access_kind * arguments * location| ECallTemplate of expression * template * location| EAccess of expression * access_kind * expression| EDot of expression * access_kind * identifier| EDotPrivate of expression * access_kind * identifier| ENew of expression * arguments option * location| EVar of ident| EFun of ident option * function_declaration| EClass of ident option * class_declaration| EArrow of function_declaration * bool * arrow_info| EStr of Stdlib.Utf8_string.t| ETemplate of template| EArr of array_litteral| EBool of bool| ENum of Num.t| EObj of property_list| ERegexp of string * string option| EYield of {delegate : bool;expr : expression option;}| EPrivName of identifier| CoverParenthesizedExpressionAndArrowParameterList of early_error| CoverCallExpressionAndAsyncArrowHead of early_errorand template = template_part listand statement = | Block of block| Variable_statement of variable_declaration_kind * variable_declaration list| Function_declaration of ident * function_declaration| Class_declaration of ident * class_declaration| Empty_statement| Expression_statement of expression| If_statement of expression
  * statement * location
  * (statement * location) option| Do_while_statement of statement * location * expression| While_statement of expression * statement * location| For_statement of (expression option,
                   variable_declaration_kind * variable_declaration list)
                   either
  * expression option
  * expression option
  * statement * location| ForIn_statement of (expression, variable_declaration_kind * for_binding) either
  * expression
  * statement * location| ForOf_statement of (expression, variable_declaration_kind * for_binding) either
  * expression
  * statement * location| ForAwaitOf_statement of (expression, variable_declaration_kind * for_binding)
                          either
  * expression
  * statement * location| Continue_statement of Label.t option| Break_statement of Label.t option| Return_statement of expression option * location| With_statement of expression * statement * location| Labelled_statement of Label.t * statement * location| Switch_statement of expression
  * case_clause list
  * statement_list option
  * case_clause list| Throw_statement of expression| Try_statement of block
  * (formal_parameter option * block) option
  * block option| Debugger_statement| Import of import * Parse_info.t| Export of export * Parse_info.tand block = statement_listand variable_declaration = | DeclIdent of ident * initialiser option| DeclPattern of binding_pattern * initialiserand case_clause = expression * statement_listand initialiser = expression * locationand function_declaration =
  function_kind * formal_parameter_list * function_body * locationand class_element = | CEMethod of bool * class_element_name * method_| CEField of bool * class_element_name * initialiser option| CEStaticBLock of statement_listand formal_parameter_list = (formal_parameter, binding) list_with_restand formal_parameter = binding_elementand for_binding = bindingand binding_element = binding * initialiser optionand binding_pattern = | ObjectBinding of (binding_property, ident) list_with_rest| ArrayBinding of (binding_element option, binding) list_with_restand object_target_elt = | TargetPropertyId of ident_prop * initialiser option| TargetProperty of property_name * expression * initialiser option| TargetPropertySpread of expression| TargetPropertyMethod of property_name * method_and array_target_elt = | TargetElementId of ident * initialiser option| TargetElementHole| TargetElement of expression| TargetElementSpread of expressionand assignment_target = | ObjectTarget of object_target_elt list| ArrayTarget of array_target_elt listand binding_property = | Prop_binding of property_name * binding_element| Prop_ident of ident_prop * initialiser optionand function_body = statement_listand program = statement_listand export = | ExportVar of variable_declaration_kind * variable_declaration list| ExportFun of ident * function_declaration| ExportClass of ident * class_declaration| ExportNames of (ident * Stdlib.Utf8_string.t) list| ExportDefaultFun of ident option * function_declaration| ExportDefaultClass of ident option * class_declaration| ExportDefaultExpression of expression| ExportFrom of {kind : export_from_kind;from : Stdlib.Utf8_string.t;}| CoverExportFrom of early_errorand export_from_kind = | Export_all of Stdlib.Utf8_string.t option| Export_names of (Stdlib.Utf8_string.t * Stdlib.Utf8_string.t) listand import_default = identand import_kind = | Namespace of import_default option * ident| Named of import_default option * (Stdlib.Utf8_string.t * ident) list| Default of import_default| SideEffectand program_with_annots =
  (statement_list * (Js_token.Annot.t * Parse_info.t) list) listval is_ident' : Stdlib.Utf8_string.t -> boolval ident : ?loc:location -> ?var:Code.Var.t -> identifier -> identval param : ?loc:location -> ?var:Code.Var.t -> identifier -> formal_parameterval param' : ident -> formal_parameterval ident_unsafe : ?loc:location -> ?var:Code.Var.t -> identifier -> identval bound_idents_of_params : formal_parameter_list -> ident listval bound_idents_of_variable_declaration : variable_declaration -> ident listval bound_idents_of_pattern : binding_pattern -> ident listval dot : expression -> identifier -> expressionval array : expression list -> expressionval call : expression -> expression list -> location -> expressionval variable_declaration : 
  ?kind:variable_declaration_kind ->
  (ident * initialiser) list ->
  statementval list : 'a list -> ('a, _) list_with_restval early_error : ?reason:string -> Parse_info.t -> early_errorval fun_ : ident list -> statement_list -> location -> function_declarationval assignment_target_of_expr : binop option -> expression -> expression