Flow_ast_mapper.mappermethod program : 'loc mapper ->
  ('loc0, 'loc0) Ast.Program.t ->
  ('loc0, 'loc0) Ast.Program.tmethod statement : 'a ->
  ('loc1, 'loc1) Ast.Statement.t ->
  ('loc1, 'loc1) Ast.Statement.tmethod syntax_opt : 'a ->
  'internal. ('loc3, 'internal) Ast.Syntax.t option ->
  ('loc3, 'internal) Ast.Syntax.t optionmethod syntax : 'a ->
  'internal. ('loc4, 'internal) Ast.Syntax.t ->
  ('loc4, 'internal) Ast.Syntax.tmethod expression : 'a ->
  ('loc5, 'loc5) Ast.Expression.t ->
  ('loc5, 'loc5) Ast.Expression.tmethod array : 'a ->
  'loc6 ->
  ('loc7, 'loc8) Ast.Expression.Array.t ->
  ('loc7, 'loc8) Ast.Expression.Array.tmethod array_element : 'a ->
  ('loc9, 'loc10) Ast.Expression.Array.element ->
  ('loc9, 'loc10) Ast.Expression.Array.elementmethod arrow_function : 'a ->
  'loc11 ->
  ('loc12, 'loc12) Ast.Function.t ->
  ('loc12, 'loc12) Ast.Function.tmethod assignment : 'a ->
  'loc13 ->
  ('loc14, 'loc15) Ast.Expression.Assignment.t ->
  ('loc14, 'loc15) Ast.Expression.Assignment.tmethod binary : 'a ->
  'loc16 ->
  ('loc17, 'loc18) Ast.Expression.Binary.t ->
  ('loc17, 'loc18) Ast.Expression.Binary.tmethod block : 'a ->
  'loc19 ->
  ('loc20, 'loc21) Ast.Statement.Block.t ->
  ('loc20, 'loc21) Ast.Statement.Block.tmethod break : 'a ->
  'loc22 ->
  'loc23 Ast.Statement.Break.t ->
  'loc23 Ast.Statement.Break.tmethod call : 'a ->
  'loc24 ->
  ('loc25, 'loc26) Ast.Expression.Call.t ->
  ('loc25, 'loc26) Ast.Expression.Call.tmethod optional_call : 'a ->
  'loc29 ->
  ('loc30, 'loc31) Ast.Expression.OptionalCall.t ->
  ('loc30, 'loc31) Ast.Expression.OptionalCall.tmethod call_type_arg : 'a ->
  ('loc34, 'loc35) Ast.Expression.CallTypeArg.t ->
  ('loc34, 'loc35) Ast.Expression.CallTypeArg.tmethod catch_body : 'a ->
  ('loc36 * ('loc36, 'loc36) Ast.Statement.Block.t) ->
  'loc37 * ('loc20, 'loc21) Ast.Statement.Block.tmethod catch_clause : 'a ->
  'loc38 ->
  ('loc39, 'loc39) Ast.Statement.Try.CatchClause.t' ->
  ('loc39, 'loc39) Ast.Statement.Try.CatchClause.t'method class_declaration : 'a ->
  'loc40 ->
  ('loc41, 'loc41) Ast.Class.t ->
  ('loc41, 'loc41) Ast.Class.tmethod class_expression : 'a ->
  'loc42 ->
  ('loc43, 'loc43) Ast.Class.t ->
  ('loc43, 'loc43) Ast.Class.tmethod class_ : 'a ->
  'loc44 ->
  ('loc41, 'loc41) Ast.Class.t ->
  ('loc41, 'loc41) Ast.Class.tmethod class_extends : 'a ->
  'loc45 ->
  ('loc46, 'loc47) Ast.Class.Extends.t' ->
  ('loc46, 'loc47) Ast.Class.Extends.t'method class_decorator : 'a ->
  ('loc52, 'loc53) Ast.Class.Decorator.t ->
  ('loc52, 'loc53) Ast.Class.Decorator.tmethod class_element : 'a ->
  ('loc54, 'loc55) Ast.Class.Body.element ->
  ('loc54, 'loc55) Ast.Class.Body.elementmethod class_implements : 'a ->
  ('loc56, 'loc57) Ast.Class.Implements.t ->
  ('loc56, 'loc57) Ast.Class.Implements.tmethod class_implements_interface : 'a ->
  ('loc58, 'loc59) Ast.Class.Implements.Interface.t ->
  ('loc58, 'loc59) Ast.Class.Implements.Interface.tmethod class_method : 'a ->
  'loc60 ->
  ('loc61, 'loc61) Ast.Class.Method.t' ->
  ('loc61, 'loc61) Ast.Class.Method.t'method class_property : 'a ->
  'loc62 ->
  ('loc63, 'loc63) Ast.Class.Property.t' ->
  ('loc63, 'loc63) Ast.Class.Property.t'method class_property_value : 'a ->
  ('loc64, 'loc65) Ast.Class.Property.value ->
  ('loc64, 'loc65) Ast.Class.Property.valuemethod class_private_field : 'a ->
  'loc66 ->
  ('loc67, 'loc67) Ast.Class.PrivateField.t' ->
  ('loc67, 'loc67) Ast.Class.PrivateField.t'method comprehension : 'a ->
  'loc68 ->
  ('loc69, 'loc70) Ast.Expression.Comprehension.t ->
  ('loc69, 'loc70) Ast.Expression.Comprehension.tmethod conditional : 'a ->
  'loc71 ->
  ('loc72, 'loc73) Ast.Expression.Conditional.t ->
  ('loc72, 'loc73) Ast.Expression.Conditional.tmethod continue : 'a ->
  'loc74 ->
  'loc75 Ast.Statement.Continue.t ->
  'loc75 Ast.Statement.Continue.tmethod debugger : 'a ->
  'loc76 ->
  'loc77 Ast.Statement.Debugger.t ->
  'loc77 Ast.Statement.Debugger.tmethod declare_class : 'a ->
  'loc78 ->
  ('loc79, 'loc80) Ast.Statement.DeclareClass.t ->
  ('loc79, 'loc80) Ast.Statement.DeclareClass.tmethod declare_export_declaration : 'a ->
  'loc81 ->
  ('loc82, 'loc83) Ast.Statement.DeclareExportDeclaration.t ->
  ('loc82, 'loc83) Ast.Statement.DeclareExportDeclaration.tmethod declare_export_declaration_decl : 'a ->
  ('loc84, 'loc85) Ast.Statement.DeclareExportDeclaration.declaration ->
  ('loc84, 'loc85) Ast.Statement.DeclareExportDeclaration.declarationmethod declare_function : 'a ->
  'loc86 ->
  ('loc87, 'loc88) Ast.Statement.DeclareFunction.t ->
  ('loc87, 'loc88) Ast.Statement.DeclareFunction.tmethod declare_interface : 'a ->
  'loc89 ->
  ('loc90, 'loc91) Ast.Statement.Interface.t ->
  ('loc90, 'loc91) Ast.Statement.Interface.tmethod declare_module : 'a ->
  'loc92 ->
  ('loc93, 'loc94) Ast.Statement.DeclareModule.t ->
  ('loc93, 'loc94) Ast.Statement.DeclareModule.tmethod declare_module_exports : 'a ->
  'loc95 ->
  ('loc96, 'loc97) Ast.Statement.DeclareModuleExports.t ->
  ('loc96, 'loc97) Ast.Statement.DeclareModuleExports.tmethod declare_type_alias : 'a ->
  'loc98 ->
  ('loc99, 'loc100) Ast.Statement.TypeAlias.t ->
  ('loc99, 'loc100) Ast.Statement.TypeAlias.tmethod declare_variable : 'a ->
  'loc101 ->
  ('loc102, 'loc103) Ast.Statement.DeclareVariable.t ->
  ('loc102, 'loc103) Ast.Statement.DeclareVariable.tmethod do_while : 'a ->
  'loc104 ->
  ('loc105, 'loc106) Ast.Statement.DoWhile.t ->
  ('loc105, 'loc106) Ast.Statement.DoWhile.tmethod empty : 'a ->
  'loc107 ->
  'loc108 Ast.Statement.Empty.t ->
  'loc108 Ast.Statement.Empty.tmethod enum_declaration : 'a ->
  'loc109 ->
  ('loc110, 'loc111) Ast.Statement.EnumDeclaration.t ->
  ('loc110, 'loc111) Ast.Statement.EnumDeclaration.tmethod enum_body : 'a ->
  'loc112 Ast.Statement.EnumDeclaration.body ->
  'loc112 Ast.Statement.EnumDeclaration.bodymethod enum_boolean_body : 'a ->
  'loc113 Ast.Statement.EnumDeclaration.BooleanBody.t ->
  'loc113 Ast.Statement.EnumDeclaration.BooleanBody.tmethod enum_number_body : 'a ->
  'loc114 Ast.Statement.EnumDeclaration.NumberBody.t ->
  'loc114 Ast.Statement.EnumDeclaration.NumberBody.tmethod enum_string_body : 'a ->
  'loc115 Ast.Statement.EnumDeclaration.StringBody.t ->
  'loc115 Ast.Statement.EnumDeclaration.StringBody.tmethod enum_symbol_body : 'a ->
  'loc116 Ast.Statement.EnumDeclaration.SymbolBody.t ->
  'loc116 Ast.Statement.EnumDeclaration.SymbolBody.tmethod enum_boolean_member : 'a ->
  ('loc118 Ast.BooleanLiteral.t, 'loc119)
    Js_parser__Flow_ast.Statement.EnumDeclaration.InitializedMember.t ->
  ('loc118 Ast.BooleanLiteral.t, 'loc119)
    Js_parser__Flow_ast.Statement.EnumDeclaration.InitializedMember.tmethod enum_number_member : 'a ->
  ('loc120 Ast.NumberLiteral.t, 'loc121)
    Js_parser__Flow_ast.Statement.EnumDeclaration.InitializedMember.t ->
  ('loc120 Ast.NumberLiteral.t, 'loc121)
    Js_parser__Flow_ast.Statement.EnumDeclaration.InitializedMember.tmethod enum_string_member : 'a ->
  ('loc122 Ast.StringLiteral.t, 'loc123)
    Js_parser__Flow_ast.Statement.EnumDeclaration.InitializedMember.t ->
  ('loc122 Ast.StringLiteral.t, 'loc123)
    Js_parser__Flow_ast.Statement.EnumDeclaration.InitializedMember.tmethod export_default_declaration : 'a ->
  'loc125 ->
  ('loc126, 'loc127) Ast.Statement.ExportDefaultDeclaration.t ->
  ('loc126, 'loc127) Ast.Statement.ExportDefaultDeclaration.tmethod export_default_declaration_decl : 'a ->
  ('loc128, 'loc129) Ast.Statement.ExportDefaultDeclaration.declaration ->
  ('loc128, 'loc129) Ast.Statement.ExportDefaultDeclaration.declarationmethod export_named_declaration : 'a ->
  'loc130 ->
  ('loc131, 'loc132) Ast.Statement.ExportNamedDeclaration.t ->
  ('loc131, 'loc132) Ast.Statement.ExportNamedDeclaration.tmethod export_named_declaration_specifier : 'a ->
  'loc133 Ast.Statement.ExportNamedDeclaration.ExportSpecifier.t ->
  'loc133 Ast.Statement.ExportNamedDeclaration.ExportSpecifier.tmethod export_batch_specifier : 'a ->
  'loc134 Ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier.t ->
  'loc134 Ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier.tmethod export_named_specifier : 'a ->
  'loc135 Ast.Statement.ExportNamedDeclaration.specifier ->
  'loc135 Ast.Statement.ExportNamedDeclaration.specifiermethod export_source : 'a ->
  'loc136 ->
  'loc137 Ast.StringLiteral.t ->
  'loc137 Ast.StringLiteral.tmethod expression_statement : 'a ->
  'loc138 ->
  ('loc139, 'loc140) Ast.Statement.Expression.t ->
  ('loc139, 'loc140) Ast.Statement.Expression.tmethod expression_or_spread : 'a ->
  ('loc141, 'loc142) Ast.Expression.expression_or_spread ->
  ('loc141, 'loc142) Ast.Expression.expression_or_spreadmethod for_in_statement : 'a ->
  'loc143 ->
  ('loc144, 'loc145) Ast.Statement.ForIn.t ->
  ('loc144, 'loc145) Ast.Statement.ForIn.tmethod for_in_statement_lhs : 'a ->
  ('loc146, 'loc147) Ast.Statement.ForIn.left ->
  ('loc146, 'loc147) Ast.Statement.ForIn.leftmethod for_in_left_declaration : 'a ->
  ('loc148 * ('loc149, 'loc150) Ast.Statement.VariableDeclaration.t) ->
  'loc148 * ('loc149, 'loc150) Ast.Statement.VariableDeclaration.tmethod for_of_statement : 'a ->
  'loc151 ->
  ('loc152, 'loc153) Ast.Statement.ForOf.t ->
  ('loc152, 'loc153) Ast.Statement.ForOf.tmethod for_of_statement_lhs : 'a ->
  ('loc154, 'loc155) Ast.Statement.ForOf.left ->
  ('loc154, 'loc155) Ast.Statement.ForOf.leftmethod for_of_left_declaration : 'a ->
  ('loc156 * ('loc149, 'loc150) Ast.Statement.VariableDeclaration.t) ->
  'loc156 * ('loc149, 'loc150) Ast.Statement.VariableDeclaration.tmethod for_statement : 'a ->
  'loc157 ->
  ('loc158, 'loc159) Ast.Statement.For.t ->
  ('loc158, 'loc159) Ast.Statement.For.tmethod for_statement_init : 'a ->
  ('loc160, 'loc161) Ast.Statement.For.init ->
  ('loc160, 'loc161) Ast.Statement.For.initmethod for_init_declaration : 'a ->
  ('loc162 * ('loc149, 'loc150) Ast.Statement.VariableDeclaration.t) ->
  'loc162 * ('loc149, 'loc150) Ast.Statement.VariableDeclaration.tmethod function_param_type : 'a ->
  ('loc163, 'loc163) Ast.Type.Function.Param.t ->
  ('loc163, 'loc163) Ast.Type.Function.Param.tmethod function_rest_param_type : 'a ->
  ('loc164, 'loc164) Ast.Type.Function.RestParam.t ->
  ('loc164, 'loc164) Ast.Type.Function.RestParam.tmethod function_this_param_type : 'a ->
  ('loc165, 'loc165) Ast.Type.Function.ThisParam.t ->
  ('loc165, 'loc165) Ast.Type.Function.ThisParam.tmethod function_type : 'a ->
  'loc166 ->
  ('loc167, 'loc167) Ast.Type.Function.t ->
  ('loc167, 'loc167) Ast.Type.Function.tmethod object_property_value_type : 'a ->
  ('loc169, 'loc169) Ast.Type.Object.Property.value ->
  ('loc169, 'loc169) Ast.Type.Object.Property.valuemethod object_type_property_getter : 'a ->
  ('loc170 * ('loc167, 'loc167) Ast.Type.Function.t) ->
  'loc170 * ('loc167, 'loc167) Ast.Type.Function.tmethod object_type_property_setter : 'a ->
  ('loc171 * ('loc167, 'loc167) Ast.Type.Function.t) ->
  'loc171 * ('loc167, 'loc167) Ast.Type.Function.tmethod object_property_type : 'a ->
  ('loc172, 'loc172) Ast.Type.Object.Property.t ->
  ('loc172, 'loc172) Ast.Type.Object.Property.tmethod object_spread_property_type : 'a ->
  ('loc173, 'loc173) Ast.Type.Object.SpreadProperty.t ->
  ('loc173, 'loc173) Ast.Type.Object.SpreadProperty.tmethod object_indexer_property_type : 'a ->
  ('loc174, 'loc174) Ast.Type.Object.Indexer.t ->
  ('loc174, 'loc174) Ast.Type.Object.Indexer.tmethod object_internal_slot_property_type : 'a ->
  ('loc175, 'loc175) Ast.Type.Object.InternalSlot.t ->
  ('loc175, 'loc175) Ast.Type.Object.InternalSlot.tmethod object_call_property_type : 'a ->
  ('loc176, 'loc176) Ast.Type.Object.CallProperty.t ->
  ('loc176, 'loc176) Ast.Type.Object.CallProperty.tmethod object_type : 'a ->
  'loc177 ->
  ('loc178, 'loc178) Ast.Type.Object.t ->
  ('loc178, 'loc178) Ast.Type.Object.tmethod interface_type : 'a ->
  'loc179 ->
  ('loc180, 'loc180) Ast.Type.Interface.t ->
  ('loc180, 'loc180) Ast.Type.Interface.tmethod generic_identifier_type : 'a ->
  ('loc181, 'loc181) Ast.Type.Generic.Identifier.t ->
  ('loc181, 'loc181) Ast.Type.Generic.Identifier.tmethod generic_qualified_identifier_type : 'a ->
  ('loc182, 'loc183) Ast.Type.Generic.Identifier.qualified ->
  ('loc182, 'loc183) Ast.Type.Generic.Identifier.qualifiedmethod variance : 'a -> 'loc186 Ast.Variance.t -> 'loc186 Ast.Variance.tmethod generic_type : 'a ->
  'loc195 ->
  ('loc196, 'loc196) Ast.Type.Generic.t ->
  ('loc196, 'loc196) Ast.Type.Generic.tmethod indexed_access : 'a ->
  'loc197 ->
  ('loc198, 'loc198) Ast.Type.IndexedAccess.t ->
  ('loc198, 'loc198) Ast.Type.IndexedAccess.tmethod optional_indexed_access : 'a ->
  'loc199 ->
  ('loc200, 'loc200) Ast.Type.OptionalIndexedAccess.t ->
  ('loc200, 'loc200) Ast.Type.OptionalIndexedAccess.tmethod string_literal_type : 'a ->
  'loc201 ->
  'loc202 Ast.StringLiteral.t ->
  'loc202 Ast.StringLiteral.tmethod number_literal_type : 'a ->
  'loc203 ->
  'loc204 Ast.NumberLiteral.t ->
  'loc204 Ast.NumberLiteral.tmethod bigint_literal_type : 'a ->
  'loc205 ->
  'loc206 Ast.BigIntLiteral.t ->
  'loc206 Ast.BigIntLiteral.tmethod boolean_literal_type : 'a ->
  'loc207 ->
  'loc208 Ast.BooleanLiteral.t ->
  'loc208 Ast.BooleanLiteral.tmethod nullable_type : 'a ->
  ('loc209, 'loc209) Ast.Type.Nullable.t ->
  ('loc209, 'loc209) Ast.Type.Nullable.tmethod typeof_type : 'a ->
  ('loc210, 'loc210) Ast.Type.Typeof.t ->
  ('loc210, 'loc210) Ast.Type.Typeof.tmethod typeof_expression : 'a ->
  ('loc211, 'loc212) Ast.Type.Typeof.Target.t ->
  ('loc211, 'loc212) Ast.Type.Typeof.Target.tmethod typeof_qualified_identifier : 'a ->
  ('loc217, 'loc218) Ast.Type.Typeof.Target.qualified ->
  ('loc217, 'loc218) Ast.Type.Typeof.Target.qualifiedmethod tuple_type : 'a ->
  ('loc219, 'loc219) Ast.Type.Tuple.t ->
  ('loc219, 'loc219) Ast.Type.Tuple.tmethod array_type : 'a ->
  ('loc220, 'loc220) Ast.Type.Array.t ->
  ('loc220, 'loc220) Ast.Type.Array.tmethod union_type : 'a ->
  'loc221 ->
  ('loc222, 'loc222) Ast.Type.Union.t ->
  ('loc222, 'loc222) Ast.Type.Union.tmethod intersection_type : 'a ->
  'loc223 ->
  ('loc224, 'loc224) Ast.Type.Intersection.t ->
  ('loc224, 'loc224) Ast.Type.Intersection.tmethod type_annotation_hint : 'a ->
  ('loc229, 'loc230) Ast.Type.annotation_or_hint ->
  ('loc229, 'loc230) Ast.Type.annotation_or_hintmethod function_declaration : 'a ->
  'loc231 ->
  ('loc232, 'loc232) Ast.Function.t ->
  ('loc232, 'loc232) Ast.Function.tmethod function_expression : 'a ->
  'loc233 ->
  ('loc234, 'loc234) Ast.Function.t ->
  ('loc234, 'loc234) Ast.Function.tmethod function_expression_or_method : 'a ->
  'loc235 ->
  ('loc234, 'loc234) Ast.Function.t ->
  ('loc234, 'loc234) Ast.Function.tpreviously, we conflated function_expression and class_method. callers should be updated to override those individually.
method function_ : 'a ->
  'loc236 ->
  ('loc12, 'loc12) Ast.Function.t ->
  ('loc12, 'loc12) Ast.Function.tmethod function_params : 'a ->
  ('loc237, 'loc238) Ast.Function.Params.t ->
  ('loc237, 'loc238) Ast.Function.Params.tmethod function_body_any : 'a ->
  ('loc243, 'loc244) Ast.Function.body ->
  ('loc243, 'loc244) Ast.Function.bodymethod function_body : 'a ->
  ('loc245 * ('loc246, 'loc246) Ast.Statement.Block.t) ->
  'loc245 * ('loc246, 'loc246) Ast.Statement.Block.tmethod generator : 'a ->
  'loc249 ->
  ('loc250, 'loc251) Ast.Expression.Generator.t ->
  ('loc250, 'loc251) Ast.Expression.Generator.tmethod type_identifier : 'a ->
  ('loc252, 'loc252) Ast.Identifier.t ->
  ('loc215, 'loc216) Js_parser__Flow_ast.Identifier.tmethod interface : 'a ->
  'loc256 ->
  ('loc257, 'loc257) Ast.Statement.Interface.t ->
  ('loc90, 'loc91) Ast.Statement.Interface.tmethod interface_declaration : 'a ->
  'loc258 ->
  ('loc259, 'loc260) Ast.Statement.Interface.t ->
  ('loc259, 'loc260) Ast.Statement.Interface.tmethod computed_key : 'a ->
  ('loc262, 'loc262) Ast.ComputedKey.t ->
  ('loc262, 'loc262) Ast.ComputedKey.tmethod import : 'a ->
  'loc263 ->
  ('loc264, 'loc265) Ast.Expression.Import.t ->
  ('loc264, 'loc265) Ast.Expression.Import.tmethod if_consequent_statement : 'a ->
  has_else:bool ->
  ('loc266, 'loc266) Ast.Statement.t ->
  ('loc1, 'loc1) Ast.Statement.tmethod if_alternate_statement : 'a ->
  'loc267 ->
  ('loc268, 'loc268) Ast.Statement.If.Alternate.t' ->
  ('loc268, 'loc268) Ast.Statement.If.Alternate.t'method if_statement : 'a ->
  'loc269 ->
  ('loc270, 'loc271) Ast.Statement.If.t ->
  ('loc270, 'loc271) Ast.Statement.If.tmethod import_declaration : 'a ->
  'loc272 ->
  ('loc273, 'loc274) Ast.Statement.ImportDeclaration.t ->
  ('loc273, 'loc274) Ast.Statement.ImportDeclaration.tmethod import_source : 'a ->
  'loc275 ->
  'loc276 Ast.StringLiteral.t ->
  'loc276 Ast.StringLiteral.tmethod import_specifier : 'a ->
  import_kind:Ast.Statement.ImportDeclaration.import_kind ->
  ('loc277, 'loc278) Ast.Statement.ImportDeclaration.specifier ->
  ('loc277, 'loc278) Ast.Statement.ImportDeclaration.specifiermethod import_named_specifier : 'a ->
  import_kind:Ast.Statement.ImportDeclaration.import_kind ->
  ('loc279, 'loc280) Ast.Statement.ImportDeclaration.named_specifier ->
  ('loc279, 'loc280) Ast.Statement.ImportDeclaration.named_specifiermethod import_default_specifier : 'a ->
  import_kind:Ast.Statement.ImportDeclaration.import_kind ->
  ('loc281, 'loc282) Js_parser__Flow_ast.Identifier.t ->
  ('loc281, 'loc282) Js_parser__Flow_ast.Identifier.tmethod import_namespace_specifier : 'a ->
  import_kind:Ast.Statement.ImportDeclaration.import_kind ->
  'loc283 ->
  ('loc284, 'loc285) Js_parser__Flow_ast.Identifier.t ->
  ('loc284, 'loc285) Js_parser__Flow_ast.Identifier.tmethod jsx_element : 'a ->
  'loc286 ->
  ('loc287, 'loc287) Ast.JSX.element ->
  ('loc287, 'loc287) Ast.JSX.elementmethod jsx_fragment : 'a ->
  'loc288 ->
  ('loc289, 'loc289) Ast.JSX.fragment ->
  ('loc289, 'loc289) Ast.JSX.fragmentmethod jsx_opening_element : 'a ->
  ('loc290, 'loc291) Ast.JSX.Opening.t ->
  ('loc290, 'loc291) Ast.JSX.Opening.tmethod jsx_closing_element : 'a ->
  ('loc292, 'loc293) Ast.JSX.Closing.t ->
  ('loc292, 'loc293) Ast.JSX.Closing.tmethod jsx_opening_attribute : 'a ->
  ('loc294, 'loc295) Ast.JSX.Opening.attribute ->
  ('loc294, 'loc295) Ast.JSX.Opening.attributemethod jsx_spread_attribute : 'a ->
  'loc296 ->
  ('loc297, 'loc297) Ast.JSX.SpreadAttribute.t' ->
  ('loc297, 'loc297) Ast.JSX.SpreadAttribute.t'method jsx_attribute_name : 'a ->
  ('loc300, 'loc301) Ast.JSX.Attribute.name ->
  ('loc300, 'loc301) Ast.JSX.Attribute.namemethod jsx_attribute_value : 'a ->
  ('loc306, 'loc307) Ast.JSX.Attribute.value ->
  ('loc306, 'loc307) Ast.JSX.Attribute.valuemethod jsx_attribute_value_expression : 'a ->
  'loc308 ->
  ('loc309, 'loc309) Ast.JSX.ExpressionContainer.t ->
  ('loc309, 'loc309) Ast.JSX.ExpressionContainer.tmethod jsx_attribute_value_literal : 'a ->
  'loc310 ->
  'loc311 Ast.Literal.t ->
  'loc311 Ast.Literal.tmethod jsx_children : 'a ->
  ('loc312 * ('loc312, 'loc313) Ast.JSX.child list) ->
  'loc314 * ('loc314, 'loc315) Ast.JSX.child listmethod jsx_child : 'a ->
  ('loc316, 'loc316) Ast.JSX.child ->
  ('loc316, 'loc316) Ast.JSX.childmethod jsx_expression : 'a ->
  'loc317 ->
  ('loc309, 'loc309) Ast.JSX.ExpressionContainer.t ->
  ('loc309, 'loc309) Ast.JSX.ExpressionContainer.tmethod jsx_spread_child : 'a ->
  ('loc318, 'loc319) Ast.JSX.SpreadChild.t ->
  ('loc318, 'loc319) Ast.JSX.SpreadChild.tmethod jsx_element_name : 'a ->
  ('loc320, 'loc320) Ast.JSX.name ->
  ('loc320, 'loc320) Ast.JSX.namemethod jsx_element_name_identifier : 'a ->
  ('loc321, 'loc322) Ast.JSX.Identifier.t ->
  ('loc321, 'loc322) Ast.JSX.Identifier.tmethod jsx_element_name_namespaced : 'a ->
  ('loc323, 'loc324) Ast.JSX.NamespacedName.t ->
  ('loc323, 'loc324) Ast.JSX.NamespacedName.tmethod jsx_element_name_member_expression : 'a ->
  ('loc325, 'loc326) Ast.JSX.MemberExpression.t ->
  ('loc325, 'loc326) Ast.JSX.MemberExpression.tmethod jsx_member_expression : 'a ->
  ('loc325, 'loc326) Ast.JSX.MemberExpression.t ->
  ('loc325, 'loc326) Ast.JSX.MemberExpression.tmethod jsx_member_expression_object : 'a ->
  ('loc327, 'loc328) Ast.JSX.MemberExpression._object ->
  ('loc327, 'loc328) Ast.JSX.MemberExpression._objectmethod labeled_statement : 'a ->
  'loc331 ->
  ('loc332, 'loc333) Ast.Statement.Labeled.t ->
  ('loc332, 'loc333) Ast.Statement.Labeled.tmethod literal : 'a ->
  'loc334 ->
  'loc311 Ast.Literal.t ->
  'loc311 Ast.Literal.tmethod logical : 'a ->
  'loc335 ->
  ('loc336, 'loc337) Ast.Expression.Logical.t ->
  ('loc336, 'loc337) Ast.Expression.Logical.tmethod member : 'a ->
  'loc338 ->
  ('loc339, 'loc340) Ast.Expression.Member.t ->
  ('loc339, 'loc340) Ast.Expression.Member.tmethod optional_member : 'a ->
  'loc341 ->
  ('loc342, 'loc343) Ast.Expression.OptionalMember.t ->
  ('loc342, 'loc343) Ast.Expression.OptionalMember.tmethod member_property : 'a ->
  ('loc344, 'loc345) Ast.Expression.Member.property ->
  ('loc344, 'loc345) Ast.Expression.Member.propertymethod meta_property : 'a ->
  'loc351 ->
  'loc352 Ast.Expression.MetaProperty.t ->
  'loc352 Ast.Expression.MetaProperty.tmethod new_ : 'a ->
  'loc353 ->
  ('loc354, 'loc355) Ast.Expression.New.t ->
  ('loc354, 'loc355) Ast.Expression.New.tmethod object_ : 'a ->
  'loc356 ->
  ('loc357, 'loc358) Ast.Expression.Object.t ->
  ('loc357, 'loc358) Ast.Expression.Object.tmethod object_property : 'a ->
  ('loc359, 'loc360) Ast.Expression.Object.Property.t ->
  ('loc359, 'loc360) Ast.Expression.Object.Property.tmethod object_key : 'a ->
  ('loc361, 'loc362) Ast.Expression.Object.Property.key ->
  ('loc361, 'loc362) Ast.Expression.Object.Property.keymethod object_key_literal : 'a ->
  ('loc363 * 'loc364 Ast.Literal.t) ->
  'loc363 * 'loc364 Ast.Literal.tmethod opaque_type : 'a ->
  'loc369 ->
  ('loc370, 'loc371) Ast.Statement.OpaqueType.t ->
  ('loc370, 'loc371) Ast.Statement.OpaqueType.tmethod variable_declarator_pattern : 'a ->
  kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc374, 'loc374) Ast.Pattern.t ->
  ('loc372, 'loc373) Js_parser__Flow_ast.Pattern.tmethod binding_pattern : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc381, 'loc381) Ast.Pattern.t ->
  ('loc372, 'loc373) Js_parser__Flow_ast.Pattern.tmethod pattern : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc384, 'loc384) Ast.Pattern.t ->
  ('loc372, 'loc373) Js_parser__Flow_ast.Pattern.tmethod pattern_identifier : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc385, 'loc385) Ast.Identifier.t ->
  ('loc48, 'loc49) Js_parser__Flow_ast.Identifier.tmethod pattern_literal : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  'loc386 ->
  'loc387 Ast.Literal.t ->
  'loc311 Ast.Literal.tmethod pattern_object_p : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc388, 'loc389) Ast.Pattern.Object.property ->
  ('loc388, 'loc389) Ast.Pattern.Object.propertymethod pattern_object_property : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc390, 'loc391) Ast.Pattern.Object.Property.t ->
  ('loc390, 'loc391) Ast.Pattern.Object.Property.tmethod pattern_object_property_key : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc392, 'loc393) Ast.Pattern.Object.Property.key ->
  ('loc394, 'loc395) Ast.Pattern.Object.Property.keymethod pattern_object_property_literal_key : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc396 * 'loc397 Ast.Literal.t) ->
  'loc396 * 'loc397 Ast.Literal.tmethod pattern_object_property_identifier_key : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc398, 'loc399) Js_parser__Flow_ast.Identifier.t ->
  ('loc398, 'loc399) Js_parser__Flow_ast.Identifier.tmethod pattern_object_property_computed_key : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc400, 'loc401) Js_parser__Flow_ast.ComputedKey.t ->
  ('loc400, 'loc401) Js_parser__Flow_ast.ComputedKey.tmethod pattern_object_rest_property : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc402, 'loc403) Js_parser__Flow_ast.Pattern.RestElement.t ->
  ('loc402, 'loc403) Js_parser__Flow_ast.Pattern.RestElement.tmethod pattern_object_property_pattern : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc404, 'loc405) Js_parser__Flow_ast.Pattern.t ->
  ('loc404, 'loc405) Js_parser__Flow_ast.Pattern.tmethod pattern_object_rest_property_pattern : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc406, 'loc407) Js_parser__Flow_ast.Pattern.t ->
  ('loc406, 'loc407) Js_parser__Flow_ast.Pattern.tmethod pattern_array_e : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc408, 'loc409) Ast.Pattern.Array.element ->
  ('loc408, 'loc409) Ast.Pattern.Array.elementmethod pattern_array_element : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc410, 'loc411) Ast.Pattern.Array.Element.t ->
  ('loc410, 'loc411) Ast.Pattern.Array.Element.tmethod pattern_array_element_pattern : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc412, 'loc413) Js_parser__Flow_ast.Pattern.t ->
  ('loc412, 'loc413) Js_parser__Flow_ast.Pattern.tmethod pattern_array_rest_element : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc414, 'loc415) Js_parser__Flow_ast.Pattern.RestElement.t ->
  ('loc414, 'loc415) Js_parser__Flow_ast.Pattern.RestElement.tmethod pattern_array_rest_element_pattern : 'a ->
  ?kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc416, 'loc417) Js_parser__Flow_ast.Pattern.t ->
  ('loc416, 'loc417) Js_parser__Flow_ast.Pattern.tmethod return : 'a ->
  'loc426 ->
  ('loc427, 'loc428) Ast.Statement.Return.t ->
  ('loc427, 'loc428) Ast.Statement.Return.tmethod sequence : 'a ->
  'loc429 ->
  ('loc430, 'loc431) Ast.Expression.Sequence.t ->
  ('loc430, 'loc431) Ast.Expression.Sequence.tmethod statement_fork_point : 'a ->
  ('loc438, 'loc438) Ast.Statement.t ->
  ('loc438, 'loc438) Ast.Statement.t listmethod spread_property : 'a ->
  ('loc441, 'loc442) Ast.Expression.Object.SpreadProperty.t ->
  ('loc441, 'loc442) Ast.Expression.Object.SpreadProperty.tmethod super_expression : 'a ->
  'loc443 ->
  'loc444 Ast.Expression.Super.t ->
  'loc444 Ast.Expression.Super.tmethod switch : 'a ->
  'loc445 ->
  ('loc446, 'loc447) Ast.Statement.Switch.t ->
  ('loc446, 'loc447) Ast.Statement.Switch.tmethod switch_case : 'a ->
  ('loc448, 'loc449) Ast.Statement.Switch.Case.t ->
  ('loc448, 'loc449) Ast.Statement.Switch.Case.tmethod tagged_template : 'a ->
  'loc450 ->
  ('loc451, 'loc452) Ast.Expression.TaggedTemplate.t ->
  ('loc451, 'loc452) Ast.Expression.TaggedTemplate.tmethod template_literal : 'a ->
  'loc453 ->
  ('loc454, 'loc455) Ast.Expression.TemplateLiteral.t ->
  ('loc454, 'loc455) Ast.Expression.TemplateLiteral.tmethod template_literal_element : 'a ->
  'loc456 Ast.Expression.TemplateLiteral.Element.t ->
  'loc456 Ast.Expression.TemplateLiteral.Element.tmethod this_expression : 'a ->
  'loc457 ->
  'loc458 Ast.Expression.This.t ->
  'loc458 Ast.Expression.This.tmethod throw : 'a ->
  'loc459 ->
  ('loc460, 'loc461) Ast.Statement.Throw.t ->
  ('loc460, 'loc461) Ast.Statement.Throw.tmethod try_catch : 'a ->
  'loc462 ->
  ('loc463, 'loc464) Ast.Statement.Try.t ->
  ('loc463, 'loc464) Ast.Statement.Try.tmethod type_cast : 'a ->
  'loc465 ->
  ('loc466, 'loc467) Ast.Expression.TypeCast.t ->
  ('loc466, 'loc467) Ast.Expression.TypeCast.tmethod unary_expression : 'a ->
  'loc468 ->
  ('loc469, 'loc470) Ast.Expression.Unary.t ->
  ('loc469, 'loc470) Ast.Expression.Unary.tmethod update_expression : 'a ->
  'loc471 ->
  ('loc472, 'loc473) Ast.Expression.Update.t ->
  ('loc472, 'loc473) Ast.Expression.Update.tmethod variable_declaration : 'a ->
  'loc474 ->
  ('loc149, 'loc150) Ast.Statement.VariableDeclaration.t ->
  ('loc149, 'loc150) Ast.Statement.VariableDeclaration.tmethod variable_declarator : 'a ->
  kind:Ast.Statement.VariableDeclaration.kind ->
  ('loc475, 'loc476) Ast.Statement.VariableDeclaration.Declarator.t ->
  ('loc475, 'loc476) Ast.Statement.VariableDeclaration.Declarator.tmethod while_ : 'a ->
  'loc477 ->
  ('loc478, 'loc479) Ast.Statement.While.t ->
  ('loc478, 'loc479) Ast.Statement.While.tmethod with_ : 'a ->
  'loc480 ->
  ('loc481, 'loc482) Ast.Statement.With.t ->
  ('loc481, 'loc482) Ast.Statement.With.tmethod type_alias : 'a ->
  'loc483 ->
  ('loc484, 'loc485) Ast.Statement.TypeAlias.t ->
  ('loc484, 'loc485) Ast.Statement.TypeAlias.tmethod yield : 'a ->
  'loc486 ->
  ('loc487, 'loc488) Ast.Expression.Yield.t ->
  ('loc487, 'loc488) Ast.Expression.Yield.t