[ FullOpeningTag( FullOpeningTagStatement { span: Span { line: 1, column: 1, position: 0, }, }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 3, column: 1, position: 7, }, ), ampersand: None, fn: Span { line: 3, column: 8, position: 14, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 3, column: 11, position: 17, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 3, column: 20, position: 26, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 3, column: 12, position: 18, }, "Foo", ), ), ellipsis: Some( Span { line: 3, column: 17, position: 23, }, ), default: None, ampersand: Some( Span { line: 3, column: 17, position: 23, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 3, column: 22, position: 28, }, }, return_type: Some( ReturnType { colon: Span { line: 3, column: 23, position: 29, }, data_type: Named( Span { line: 3, column: 25, position: 31, }, "Bar", ), }, ), double_arrow: Span { line: 3, column: 29, position: 35, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 3, column: 32, position: 38, }, value: "Bar", }, ), ), double_colon: Span { line: 3, column: 35, position: 41, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 3, column: 37, position: 43, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 3, column: 41, position: 47, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 3, column: 42, position: 48, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 3, column: 44, position: 50, }, }, }, ), }, ), ending: Semicolon( Span { line: 3, column: 45, position: 51, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 4, column: 1, position: 53, }, ), ampersand: None, fn: Span { line: 4, column: 8, position: 60, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 4, column: 11, position: 63, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 4, column: 19, position: 71, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 4, column: 12, position: 64, }, "Foo", ), ), ellipsis: Some( Span { line: 4, column: 16, position: 68, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 4, column: 21, position: 73, }, }, return_type: Some( ReturnType { colon: Span { line: 4, column: 22, position: 74, }, data_type: Named( Span { line: 4, column: 24, position: 76, }, "Bar", ), }, ), double_arrow: Span { line: 4, column: 28, position: 80, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 4, column: 31, position: 83, }, value: "Bar", }, ), ), double_colon: Span { line: 4, column: 34, position: 86, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 4, column: 36, position: 88, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 4, column: 40, position: 92, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 4, column: 41, position: 93, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 4, column: 43, position: 95, }, }, }, ), }, ), ending: Semicolon( Span { line: 4, column: 44, position: 96, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 5, column: 1, position: 98, }, ), ampersand: None, fn: Span { line: 5, column: 8, position: 105, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 5, column: 11, position: 108, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 5, column: 17, position: 114, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 5, column: 12, position: 109, }, "Foo", ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 5, column: 17, position: 114, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 5, column: 19, position: 116, }, }, return_type: Some( ReturnType { colon: Span { line: 5, column: 20, position: 117, }, data_type: Named( Span { line: 5, column: 22, position: 119, }, "Bar", ), }, ), double_arrow: Span { line: 5, column: 26, position: 123, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 5, column: 29, position: 126, }, value: "Bar", }, ), ), double_colon: Span { line: 5, column: 32, position: 129, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 5, column: 34, position: 131, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 5, column: 38, position: 135, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 5, column: 39, position: 136, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 5, column: 41, position: 138, }, }, }, ), }, ), ending: Semicolon( Span { line: 5, column: 42, position: 139, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 6, column: 1, position: 141, }, ), ampersand: None, fn: Span { line: 6, column: 8, position: 148, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 6, column: 11, position: 151, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 6, column: 16, position: 156, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 6, column: 12, position: 152, }, "Foo", ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 6, column: 18, position: 158, }, }, return_type: Some( ReturnType { colon: Span { line: 6, column: 19, position: 159, }, data_type: Named( Span { line: 6, column: 21, position: 161, }, "Bar", ), }, ), double_arrow: Span { line: 6, column: 25, position: 165, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 6, column: 28, position: 168, }, value: "Bar", }, ), ), double_colon: Span { line: 6, column: 31, position: 171, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 6, column: 33, position: 173, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 6, column: 37, position: 177, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 6, column: 38, position: 178, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 6, column: 40, position: 180, }, }, }, ), }, ), ending: Semicolon( Span { line: 6, column: 41, position: 181, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 7, column: 1, position: 183, }, ), function: Span { line: 7, column: 8, position: 190, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 7, column: 17, position: 199, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 7, column: 26, position: 208, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 7, column: 18, position: 200, }, "Foo", ), ), ellipsis: Some( Span { line: 7, column: 23, position: 205, }, ), default: None, ampersand: Some( Span { line: 7, column: 23, position: 205, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 7, column: 28, position: 210, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 7, column: 29, position: 211, }, data_type: Named( Span { line: 7, column: 31, position: 213, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 7, column: 35, position: 217, }, statements: [ Return( ReturnStatement { return: Span { line: 7, column: 37, position: 219, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 7, column: 44, position: 226, }, value: "Bar", }, ), ), double_colon: Span { line: 7, column: 47, position: 229, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 7, column: 49, position: 231, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 7, column: 53, position: 235, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 7, column: 54, position: 236, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 7, column: 56, position: 238, }, }, }, ), ), ending: Semicolon( Span { line: 7, column: 57, position: 239, }, ), }, ), ], right_brace: Span { line: 7, column: 59, position: 241, }, }, }, ), ending: Semicolon( Span { line: 7, column: 60, position: 242, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 8, column: 1, position: 244, }, ), function: Span { line: 8, column: 8, position: 251, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 8, column: 17, position: 260, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 8, column: 25, position: 268, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 8, column: 18, position: 261, }, "Foo", ), ), ellipsis: Some( Span { line: 8, column: 22, position: 265, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 8, column: 27, position: 270, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 8, column: 28, position: 271, }, data_type: Named( Span { line: 8, column: 30, position: 273, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 8, column: 34, position: 277, }, statements: [ Return( ReturnStatement { return: Span { line: 8, column: 36, position: 279, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 8, column: 43, position: 286, }, value: "Bar", }, ), ), double_colon: Span { line: 8, column: 46, position: 289, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 8, column: 48, position: 291, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 8, column: 52, position: 295, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 8, column: 53, position: 296, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 8, column: 55, position: 298, }, }, }, ), ), ending: Semicolon( Span { line: 8, column: 56, position: 299, }, ), }, ), ], right_brace: Span { line: 8, column: 58, position: 301, }, }, }, ), ending: Semicolon( Span { line: 8, column: 59, position: 302, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 9, column: 1, position: 304, }, ), function: Span { line: 9, column: 8, position: 311, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 9, column: 17, position: 320, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 9, column: 23, position: 326, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 9, column: 18, position: 321, }, "Foo", ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 9, column: 23, position: 326, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 9, column: 25, position: 328, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 9, column: 26, position: 329, }, data_type: Named( Span { line: 9, column: 28, position: 331, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 9, column: 32, position: 335, }, statements: [ Return( ReturnStatement { return: Span { line: 9, column: 34, position: 337, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 9, column: 41, position: 344, }, value: "Bar", }, ), ), double_colon: Span { line: 9, column: 44, position: 347, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 9, column: 46, position: 349, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 9, column: 50, position: 353, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 9, column: 51, position: 354, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 9, column: 53, position: 356, }, }, }, ), ), ending: Semicolon( Span { line: 9, column: 54, position: 357, }, ), }, ), ], right_brace: Span { line: 9, column: 56, position: 359, }, }, }, ), ending: Semicolon( Span { line: 9, column: 57, position: 360, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 10, column: 1, position: 362, }, ), function: Span { line: 10, column: 8, position: 369, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 10, column: 17, position: 378, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 10, column: 22, position: 383, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 10, column: 18, position: 379, }, "Foo", ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 10, column: 24, position: 385, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 10, column: 25, position: 386, }, data_type: Named( Span { line: 10, column: 27, position: 388, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 10, column: 31, position: 392, }, statements: [ Return( ReturnStatement { return: Span { line: 10, column: 33, position: 394, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 10, column: 40, position: 401, }, value: "Bar", }, ), ), double_colon: Span { line: 10, column: 43, position: 404, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 10, column: 45, position: 406, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 10, column: 49, position: 410, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 10, column: 50, position: 411, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 10, column: 52, position: 413, }, }, }, ), ), ending: Semicolon( Span { line: 10, column: 53, position: 414, }, ), }, ), ], right_brace: Span { line: 10, column: 55, position: 416, }, }, }, ), ending: Semicolon( Span { line: 10, column: 56, position: 417, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 11, column: 1, position: 419, }, ), ampersand: None, fn: Span { line: 11, column: 8, position: 426, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 11, column: 11, position: 429, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 11, column: 28, position: 446, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 11, column: 12, position: 430, }, "Foo", ), Named( Span { line: 11, column: 16, position: 434, }, "Bar", ), Named( Span { line: 11, column: 20, position: 438, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 11, column: 25, position: 443, }, ), default: None, ampersand: Some( Span { line: 11, column: 25, position: 443, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 11, column: 30, position: 448, }, }, return_type: Some( ReturnType { colon: Span { line: 11, column: 31, position: 449, }, data_type: Named( Span { line: 11, column: 33, position: 451, }, "Bar", ), }, ), double_arrow: Span { line: 11, column: 37, position: 455, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 11, column: 40, position: 458, }, value: "Bar", }, ), ), double_colon: Span { line: 11, column: 43, position: 461, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 11, column: 45, position: 463, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 11, column: 49, position: 467, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 11, column: 50, position: 468, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 11, column: 52, position: 470, }, }, }, ), }, ), ending: Semicolon( Span { line: 11, column: 53, position: 471, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 12, column: 1, position: 473, }, ), ampersand: None, fn: Span { line: 12, column: 8, position: 480, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 12, column: 11, position: 483, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 12, column: 27, position: 499, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 12, column: 12, position: 484, }, "Foo", ), Named( Span { line: 12, column: 16, position: 488, }, "Bar", ), Named( Span { line: 12, column: 20, position: 492, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 12, column: 24, position: 496, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 12, column: 29, position: 501, }, }, return_type: Some( ReturnType { colon: Span { line: 12, column: 30, position: 502, }, data_type: Named( Span { line: 12, column: 32, position: 504, }, "Bar", ), }, ), double_arrow: Span { line: 12, column: 36, position: 508, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 12, column: 39, position: 511, }, value: "Bar", }, ), ), double_colon: Span { line: 12, column: 42, position: 514, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 12, column: 44, position: 516, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 12, column: 48, position: 520, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 12, column: 49, position: 521, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 12, column: 51, position: 523, }, }, }, ), }, ), ending: Semicolon( Span { line: 12, column: 52, position: 524, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 13, column: 1, position: 526, }, ), ampersand: None, fn: Span { line: 13, column: 8, position: 533, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 13, column: 11, position: 536, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 13, column: 25, position: 550, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 13, column: 12, position: 537, }, "Foo", ), Named( Span { line: 13, column: 16, position: 541, }, "Bar", ), Named( Span { line: 13, column: 20, position: 545, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 13, column: 25, position: 550, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 13, column: 27, position: 552, }, }, return_type: Some( ReturnType { colon: Span { line: 13, column: 28, position: 553, }, data_type: Named( Span { line: 13, column: 30, position: 555, }, "Bar", ), }, ), double_arrow: Span { line: 13, column: 34, position: 559, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 13, column: 37, position: 562, }, value: "Bar", }, ), ), double_colon: Span { line: 13, column: 40, position: 565, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 13, column: 42, position: 567, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 13, column: 46, position: 571, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 47, position: 572, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 13, column: 49, position: 574, }, }, }, ), }, ), ending: Semicolon( Span { line: 13, column: 50, position: 575, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 14, column: 1, position: 577, }, ), ampersand: None, fn: Span { line: 14, column: 8, position: 584, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 14, column: 11, position: 587, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 14, column: 24, position: 600, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 14, column: 12, position: 588, }, "Foo", ), Named( Span { line: 14, column: 16, position: 592, }, "Bar", ), Named( Span { line: 14, column: 20, position: 596, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 14, column: 26, position: 602, }, }, return_type: Some( ReturnType { colon: Span { line: 14, column: 27, position: 603, }, data_type: Named( Span { line: 14, column: 29, position: 605, }, "Bar", ), }, ), double_arrow: Span { line: 14, column: 33, position: 609, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 14, column: 36, position: 612, }, value: "Bar", }, ), ), double_colon: Span { line: 14, column: 39, position: 615, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 14, column: 41, position: 617, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 14, column: 45, position: 621, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 14, column: 46, position: 622, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 14, column: 48, position: 624, }, }, }, ), }, ), ending: Semicolon( Span { line: 14, column: 49, position: 625, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 15, column: 1, position: 627, }, ), function: Span { line: 15, column: 8, position: 634, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 15, column: 17, position: 643, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 15, column: 34, position: 660, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 15, column: 18, position: 644, }, "Foo", ), Named( Span { line: 15, column: 22, position: 648, }, "Bar", ), Named( Span { line: 15, column: 26, position: 652, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 15, column: 31, position: 657, }, ), default: None, ampersand: Some( Span { line: 15, column: 31, position: 657, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 15, column: 36, position: 662, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 15, column: 37, position: 663, }, data_type: Named( Span { line: 15, column: 39, position: 665, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 15, column: 43, position: 669, }, statements: [ Return( ReturnStatement { return: Span { line: 15, column: 45, position: 671, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 15, column: 52, position: 678, }, value: "Bar", }, ), ), double_colon: Span { line: 15, column: 55, position: 681, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 15, column: 57, position: 683, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 15, column: 61, position: 687, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 15, column: 62, position: 688, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 15, column: 64, position: 690, }, }, }, ), ), ending: Semicolon( Span { line: 15, column: 65, position: 691, }, ), }, ), ], right_brace: Span { line: 15, column: 67, position: 693, }, }, }, ), ending: Semicolon( Span { line: 15, column: 68, position: 694, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 16, column: 1, position: 696, }, ), function: Span { line: 16, column: 8, position: 703, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 16, column: 17, position: 712, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 16, column: 33, position: 728, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 16, column: 18, position: 713, }, "Foo", ), Named( Span { line: 16, column: 22, position: 717, }, "Bar", ), Named( Span { line: 16, column: 26, position: 721, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 16, column: 30, position: 725, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 16, column: 35, position: 730, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 16, column: 36, position: 731, }, data_type: Named( Span { line: 16, column: 38, position: 733, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 16, column: 42, position: 737, }, statements: [ Return( ReturnStatement { return: Span { line: 16, column: 44, position: 739, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 16, column: 51, position: 746, }, value: "Bar", }, ), ), double_colon: Span { line: 16, column: 54, position: 749, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 16, column: 56, position: 751, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 16, column: 60, position: 755, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 16, column: 61, position: 756, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 16, column: 63, position: 758, }, }, }, ), ), ending: Semicolon( Span { line: 16, column: 64, position: 759, }, ), }, ), ], right_brace: Span { line: 16, column: 66, position: 761, }, }, }, ), ending: Semicolon( Span { line: 16, column: 67, position: 762, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 17, column: 1, position: 764, }, ), function: Span { line: 17, column: 8, position: 771, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 17, column: 17, position: 780, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 17, column: 31, position: 794, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 17, column: 18, position: 781, }, "Foo", ), Named( Span { line: 17, column: 22, position: 785, }, "Bar", ), Named( Span { line: 17, column: 26, position: 789, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 17, column: 31, position: 794, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 17, column: 33, position: 796, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 17, column: 34, position: 797, }, data_type: Named( Span { line: 17, column: 36, position: 799, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 17, column: 40, position: 803, }, statements: [ Return( ReturnStatement { return: Span { line: 17, column: 42, position: 805, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 17, column: 49, position: 812, }, value: "Bar", }, ), ), double_colon: Span { line: 17, column: 52, position: 815, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 17, column: 54, position: 817, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 17, column: 58, position: 821, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 17, column: 59, position: 822, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 17, column: 61, position: 824, }, }, }, ), ), ending: Semicolon( Span { line: 17, column: 62, position: 825, }, ), }, ), ], right_brace: Span { line: 17, column: 64, position: 827, }, }, }, ), ending: Semicolon( Span { line: 17, column: 65, position: 828, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 18, column: 1, position: 830, }, ), function: Span { line: 18, column: 8, position: 837, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 18, column: 17, position: 846, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 18, column: 30, position: 859, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 18, column: 18, position: 847, }, "Foo", ), Named( Span { line: 18, column: 22, position: 851, }, "Bar", ), Named( Span { line: 18, column: 26, position: 855, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 18, column: 32, position: 861, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 18, column: 33, position: 862, }, data_type: Named( Span { line: 18, column: 35, position: 864, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 18, column: 39, position: 868, }, statements: [ Return( ReturnStatement { return: Span { line: 18, column: 41, position: 870, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 18, column: 48, position: 877, }, value: "Bar", }, ), ), double_colon: Span { line: 18, column: 51, position: 880, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 18, column: 53, position: 882, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 18, column: 57, position: 886, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 18, column: 58, position: 887, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 18, column: 60, position: 889, }, }, }, ), ), ending: Semicolon( Span { line: 18, column: 61, position: 890, }, ), }, ), ], right_brace: Span { line: 18, column: 63, position: 892, }, }, }, ), ending: Semicolon( Span { line: 18, column: 64, position: 893, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 19, column: 1, position: 895, }, ), ampersand: None, fn: Span { line: 19, column: 8, position: 902, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 19, column: 11, position: 905, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 19, column: 28, position: 922, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 19, column: 12, position: 906, }, "Foo", ), Named( Span { line: 19, column: 16, position: 910, }, "Bar", ), Named( Span { line: 19, column: 20, position: 914, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 19, column: 25, position: 919, }, ), default: None, ampersand: Some( Span { line: 19, column: 25, position: 919, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 19, column: 30, position: 924, }, }, return_type: Some( ReturnType { colon: Span { line: 19, column: 31, position: 925, }, data_type: Named( Span { line: 19, column: 33, position: 927, }, "Bar", ), }, ), double_arrow: Span { line: 19, column: 37, position: 931, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 19, column: 40, position: 934, }, value: "Bar", }, ), ), double_colon: Span { line: 19, column: 43, position: 937, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 19, column: 45, position: 939, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 19, column: 49, position: 943, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 19, column: 50, position: 944, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 19, column: 52, position: 946, }, }, }, ), }, ), ending: Semicolon( Span { line: 19, column: 53, position: 947, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 20, column: 1, position: 949, }, ), ampersand: None, fn: Span { line: 20, column: 8, position: 956, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 20, column: 11, position: 959, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 20, column: 27, position: 975, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 20, column: 12, position: 960, }, "Foo", ), Named( Span { line: 20, column: 16, position: 964, }, "Bar", ), Named( Span { line: 20, column: 20, position: 968, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 20, column: 24, position: 972, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 20, column: 29, position: 977, }, }, return_type: Some( ReturnType { colon: Span { line: 20, column: 30, position: 978, }, data_type: Named( Span { line: 20, column: 32, position: 980, }, "Bar", ), }, ), double_arrow: Span { line: 20, column: 36, position: 984, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 20, column: 39, position: 987, }, value: "Bar", }, ), ), double_colon: Span { line: 20, column: 42, position: 990, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 20, column: 44, position: 992, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 20, column: 48, position: 996, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 20, column: 49, position: 997, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 20, column: 51, position: 999, }, }, }, ), }, ), ending: Semicolon( Span { line: 20, column: 52, position: 1000, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 21, column: 1, position: 1002, }, ), ampersand: None, fn: Span { line: 21, column: 8, position: 1009, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 21, column: 11, position: 1012, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 21, column: 25, position: 1026, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 21, column: 12, position: 1013, }, "Foo", ), Named( Span { line: 21, column: 16, position: 1017, }, "Bar", ), Named( Span { line: 21, column: 20, position: 1021, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 21, column: 25, position: 1026, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 21, column: 27, position: 1028, }, }, return_type: Some( ReturnType { colon: Span { line: 21, column: 28, position: 1029, }, data_type: Named( Span { line: 21, column: 30, position: 1031, }, "Bar", ), }, ), double_arrow: Span { line: 21, column: 34, position: 1035, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 21, column: 37, position: 1038, }, value: "Bar", }, ), ), double_colon: Span { line: 21, column: 40, position: 1041, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 21, column: 42, position: 1043, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 21, column: 46, position: 1047, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 21, column: 47, position: 1048, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 21, column: 49, position: 1050, }, }, }, ), }, ), ending: Semicolon( Span { line: 21, column: 50, position: 1051, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 22, column: 1, position: 1053, }, ), ampersand: None, fn: Span { line: 22, column: 8, position: 1060, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 22, column: 11, position: 1063, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 22, column: 24, position: 1076, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 22, column: 12, position: 1064, }, "Foo", ), Named( Span { line: 22, column: 16, position: 1068, }, "Bar", ), Named( Span { line: 22, column: 20, position: 1072, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 22, column: 26, position: 1078, }, }, return_type: Some( ReturnType { colon: Span { line: 22, column: 27, position: 1079, }, data_type: Named( Span { line: 22, column: 29, position: 1081, }, "Bar", ), }, ), double_arrow: Span { line: 22, column: 33, position: 1085, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 22, column: 36, position: 1088, }, value: "Bar", }, ), ), double_colon: Span { line: 22, column: 39, position: 1091, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 22, column: 41, position: 1093, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 22, column: 45, position: 1097, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 22, column: 46, position: 1098, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 22, column: 48, position: 1100, }, }, }, ), }, ), ending: Semicolon( Span { line: 22, column: 49, position: 1101, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 23, column: 1, position: 1103, }, ), function: Span { line: 23, column: 8, position: 1110, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 23, column: 17, position: 1119, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 23, column: 34, position: 1136, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 23, column: 18, position: 1120, }, "Foo", ), Named( Span { line: 23, column: 22, position: 1124, }, "Bar", ), Named( Span { line: 23, column: 26, position: 1128, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 23, column: 31, position: 1133, }, ), default: None, ampersand: Some( Span { line: 23, column: 31, position: 1133, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 23, column: 36, position: 1138, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 23, column: 37, position: 1139, }, data_type: Named( Span { line: 23, column: 39, position: 1141, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 23, column: 43, position: 1145, }, statements: [ Return( ReturnStatement { return: Span { line: 23, column: 45, position: 1147, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 23, column: 52, position: 1154, }, value: "Bar", }, ), ), double_colon: Span { line: 23, column: 55, position: 1157, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 23, column: 57, position: 1159, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 23, column: 61, position: 1163, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 23, column: 62, position: 1164, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 23, column: 64, position: 1166, }, }, }, ), ), ending: Semicolon( Span { line: 23, column: 65, position: 1167, }, ), }, ), ], right_brace: Span { line: 23, column: 67, position: 1169, }, }, }, ), ending: Semicolon( Span { line: 23, column: 68, position: 1170, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 24, column: 1, position: 1172, }, ), function: Span { line: 24, column: 8, position: 1179, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 24, column: 17, position: 1188, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 24, column: 33, position: 1204, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 24, column: 18, position: 1189, }, "Foo", ), Named( Span { line: 24, column: 22, position: 1193, }, "Bar", ), Named( Span { line: 24, column: 26, position: 1197, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 24, column: 30, position: 1201, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 24, column: 35, position: 1206, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 24, column: 36, position: 1207, }, data_type: Named( Span { line: 24, column: 38, position: 1209, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 24, column: 42, position: 1213, }, statements: [ Return( ReturnStatement { return: Span { line: 24, column: 44, position: 1215, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 24, column: 51, position: 1222, }, value: "Bar", }, ), ), double_colon: Span { line: 24, column: 54, position: 1225, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 24, column: 56, position: 1227, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 24, column: 60, position: 1231, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 24, column: 61, position: 1232, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 24, column: 63, position: 1234, }, }, }, ), ), ending: Semicolon( Span { line: 24, column: 64, position: 1235, }, ), }, ), ], right_brace: Span { line: 24, column: 66, position: 1237, }, }, }, ), ending: Semicolon( Span { line: 24, column: 67, position: 1238, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 25, column: 1, position: 1240, }, ), function: Span { line: 25, column: 8, position: 1247, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 25, column: 17, position: 1256, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 25, column: 31, position: 1270, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 25, column: 18, position: 1257, }, "Foo", ), Named( Span { line: 25, column: 22, position: 1261, }, "Bar", ), Named( Span { line: 25, column: 26, position: 1265, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 25, column: 31, position: 1270, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 25, column: 33, position: 1272, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 25, column: 34, position: 1273, }, data_type: Named( Span { line: 25, column: 36, position: 1275, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 25, column: 40, position: 1279, }, statements: [ Return( ReturnStatement { return: Span { line: 25, column: 42, position: 1281, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 25, column: 49, position: 1288, }, value: "Bar", }, ), ), double_colon: Span { line: 25, column: 52, position: 1291, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 25, column: 54, position: 1293, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 25, column: 58, position: 1297, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 25, column: 59, position: 1298, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 25, column: 61, position: 1300, }, }, }, ), ), ending: Semicolon( Span { line: 25, column: 62, position: 1301, }, ), }, ), ], right_brace: Span { line: 25, column: 64, position: 1303, }, }, }, ), ending: Semicolon( Span { line: 25, column: 65, position: 1304, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 26, column: 1, position: 1306, }, ), function: Span { line: 26, column: 8, position: 1313, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 26, column: 17, position: 1322, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 26, column: 30, position: 1335, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 26, column: 18, position: 1323, }, "Foo", ), Named( Span { line: 26, column: 22, position: 1327, }, "Bar", ), Named( Span { line: 26, column: 26, position: 1331, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 26, column: 32, position: 1337, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 26, column: 33, position: 1338, }, data_type: Named( Span { line: 26, column: 35, position: 1340, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 26, column: 39, position: 1344, }, statements: [ Return( ReturnStatement { return: Span { line: 26, column: 41, position: 1346, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 26, column: 48, position: 1353, }, value: "Bar", }, ), ), double_colon: Span { line: 26, column: 51, position: 1356, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 26, column: 53, position: 1358, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 26, column: 57, position: 1362, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 26, column: 58, position: 1363, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 26, column: 60, position: 1365, }, }, }, ), ), ending: Semicolon( Span { line: 26, column: 61, position: 1366, }, ), }, ), ], right_brace: Span { line: 26, column: 63, position: 1368, }, }, }, ), ending: Semicolon( Span { line: 26, column: 64, position: 1369, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 27, column: 1, position: 1371, }, ), ampersand: None, fn: Span { line: 27, column: 8, position: 1378, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 27, column: 11, position: 1381, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 27, column: 30, position: 1400, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 27, column: 12, position: 1382, }, "Foo", ), Intersection( [ Named( Span { line: 27, column: 17, position: 1387, }, "Bar", ), Named( Span { line: 27, column: 21, position: 1391, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 27, column: 27, position: 1397, }, ), default: None, ampersand: Some( Span { line: 27, column: 27, position: 1397, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 27, column: 32, position: 1402, }, }, return_type: Some( ReturnType { colon: Span { line: 27, column: 33, position: 1403, }, data_type: Named( Span { line: 27, column: 35, position: 1405, }, "Bar", ), }, ), double_arrow: Span { line: 27, column: 39, position: 1409, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 27, column: 42, position: 1412, }, value: "Bar", }, ), ), double_colon: Span { line: 27, column: 45, position: 1415, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 27, column: 47, position: 1417, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 27, column: 51, position: 1421, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 27, column: 52, position: 1422, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 27, column: 54, position: 1424, }, }, }, ), }, ), ending: Semicolon( Span { line: 27, column: 55, position: 1425, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 28, column: 1, position: 1427, }, ), ampersand: None, fn: Span { line: 28, column: 8, position: 1434, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 28, column: 11, position: 1437, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 28, column: 29, position: 1455, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 28, column: 12, position: 1438, }, "Foo", ), Intersection( [ Named( Span { line: 28, column: 17, position: 1443, }, "Bar", ), Named( Span { line: 28, column: 21, position: 1447, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 28, column: 26, position: 1452, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 28, column: 31, position: 1457, }, }, return_type: Some( ReturnType { colon: Span { line: 28, column: 32, position: 1458, }, data_type: Named( Span { line: 28, column: 34, position: 1460, }, "Bar", ), }, ), double_arrow: Span { line: 28, column: 38, position: 1464, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 28, column: 41, position: 1467, }, value: "Bar", }, ), ), double_colon: Span { line: 28, column: 44, position: 1470, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 28, column: 46, position: 1472, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 28, column: 50, position: 1476, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 28, column: 51, position: 1477, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 28, column: 53, position: 1479, }, }, }, ), }, ), ending: Semicolon( Span { line: 28, column: 54, position: 1480, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 29, column: 1, position: 1482, }, ), ampersand: None, fn: Span { line: 29, column: 8, position: 1489, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 29, column: 11, position: 1492, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 29, column: 27, position: 1508, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 29, column: 12, position: 1493, }, "Foo", ), Intersection( [ Named( Span { line: 29, column: 17, position: 1498, }, "Bar", ), Named( Span { line: 29, column: 21, position: 1502, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 29, column: 27, position: 1508, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 29, column: 29, position: 1510, }, }, return_type: Some( ReturnType { colon: Span { line: 29, column: 30, position: 1511, }, data_type: Named( Span { line: 29, column: 32, position: 1513, }, "Bar", ), }, ), double_arrow: Span { line: 29, column: 36, position: 1517, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 29, column: 39, position: 1520, }, value: "Bar", }, ), ), double_colon: Span { line: 29, column: 42, position: 1523, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 29, column: 44, position: 1525, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 29, column: 48, position: 1529, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 29, column: 49, position: 1530, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 29, column: 51, position: 1532, }, }, }, ), }, ), ending: Semicolon( Span { line: 29, column: 52, position: 1533, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 30, column: 1, position: 1535, }, ), ampersand: None, fn: Span { line: 30, column: 8, position: 1542, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 30, column: 11, position: 1545, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 30, column: 26, position: 1560, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 30, column: 12, position: 1546, }, "Foo", ), Intersection( [ Named( Span { line: 30, column: 17, position: 1551, }, "Bar", ), Named( Span { line: 30, column: 21, position: 1555, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 30, column: 28, position: 1562, }, }, return_type: Some( ReturnType { colon: Span { line: 30, column: 29, position: 1563, }, data_type: Named( Span { line: 30, column: 31, position: 1565, }, "Bar", ), }, ), double_arrow: Span { line: 30, column: 35, position: 1569, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 30, column: 38, position: 1572, }, value: "Bar", }, ), ), double_colon: Span { line: 30, column: 41, position: 1575, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 30, column: 43, position: 1577, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 30, column: 47, position: 1581, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 30, column: 48, position: 1582, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 30, column: 50, position: 1584, }, }, }, ), }, ), ending: Semicolon( Span { line: 30, column: 51, position: 1585, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 31, column: 1, position: 1587, }, ), function: Span { line: 31, column: 8, position: 1594, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 31, column: 17, position: 1603, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 31, column: 36, position: 1622, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 31, column: 18, position: 1604, }, "Foo", ), Intersection( [ Named( Span { line: 31, column: 23, position: 1609, }, "Bar", ), Named( Span { line: 31, column: 27, position: 1613, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 31, column: 33, position: 1619, }, ), default: None, ampersand: Some( Span { line: 31, column: 33, position: 1619, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 31, column: 38, position: 1624, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 31, column: 39, position: 1625, }, data_type: Named( Span { line: 31, column: 41, position: 1627, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 31, column: 45, position: 1631, }, statements: [ Return( ReturnStatement { return: Span { line: 31, column: 47, position: 1633, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 31, column: 54, position: 1640, }, value: "Bar", }, ), ), double_colon: Span { line: 31, column: 57, position: 1643, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 31, column: 59, position: 1645, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 31, column: 63, position: 1649, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 31, column: 64, position: 1650, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 31, column: 66, position: 1652, }, }, }, ), ), ending: Semicolon( Span { line: 31, column: 67, position: 1653, }, ), }, ), ], right_brace: Span { line: 31, column: 69, position: 1655, }, }, }, ), ending: Semicolon( Span { line: 31, column: 70, position: 1656, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 32, column: 1, position: 1658, }, ), function: Span { line: 32, column: 8, position: 1665, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 32, column: 17, position: 1674, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 32, column: 35, position: 1692, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 32, column: 18, position: 1675, }, "Foo", ), Intersection( [ Named( Span { line: 32, column: 23, position: 1680, }, "Bar", ), Named( Span { line: 32, column: 27, position: 1684, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 32, column: 32, position: 1689, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 32, column: 37, position: 1694, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 32, column: 38, position: 1695, }, data_type: Named( Span { line: 32, column: 40, position: 1697, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 32, column: 44, position: 1701, }, statements: [ Return( ReturnStatement { return: Span { line: 32, column: 46, position: 1703, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 32, column: 53, position: 1710, }, value: "Bar", }, ), ), double_colon: Span { line: 32, column: 56, position: 1713, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 32, column: 58, position: 1715, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 32, column: 62, position: 1719, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 32, column: 63, position: 1720, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 32, column: 65, position: 1722, }, }, }, ), ), ending: Semicolon( Span { line: 32, column: 66, position: 1723, }, ), }, ), ], right_brace: Span { line: 32, column: 68, position: 1725, }, }, }, ), ending: Semicolon( Span { line: 32, column: 69, position: 1726, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 33, column: 1, position: 1728, }, ), function: Span { line: 33, column: 8, position: 1735, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 33, column: 17, position: 1744, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 33, column: 33, position: 1760, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 33, column: 18, position: 1745, }, "Foo", ), Intersection( [ Named( Span { line: 33, column: 23, position: 1750, }, "Bar", ), Named( Span { line: 33, column: 27, position: 1754, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 33, column: 33, position: 1760, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 33, column: 35, position: 1762, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 33, column: 36, position: 1763, }, data_type: Named( Span { line: 33, column: 38, position: 1765, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 33, column: 42, position: 1769, }, statements: [ Return( ReturnStatement { return: Span { line: 33, column: 44, position: 1771, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 33, column: 51, position: 1778, }, value: "Bar", }, ), ), double_colon: Span { line: 33, column: 54, position: 1781, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 33, column: 56, position: 1783, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 33, column: 60, position: 1787, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 33, column: 61, position: 1788, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 33, column: 63, position: 1790, }, }, }, ), ), ending: Semicolon( Span { line: 33, column: 64, position: 1791, }, ), }, ), ], right_brace: Span { line: 33, column: 66, position: 1793, }, }, }, ), ending: Semicolon( Span { line: 33, column: 67, position: 1794, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 34, column: 1, position: 1796, }, ), function: Span { line: 34, column: 8, position: 1803, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 34, column: 17, position: 1812, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 34, column: 32, position: 1827, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 34, column: 18, position: 1813, }, "Foo", ), Intersection( [ Named( Span { line: 34, column: 23, position: 1818, }, "Bar", ), Named( Span { line: 34, column: 27, position: 1822, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 34, column: 34, position: 1829, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 34, column: 35, position: 1830, }, data_type: Named( Span { line: 34, column: 37, position: 1832, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 34, column: 41, position: 1836, }, statements: [ Return( ReturnStatement { return: Span { line: 34, column: 43, position: 1838, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 34, column: 50, position: 1845, }, value: "Bar", }, ), ), double_colon: Span { line: 34, column: 53, position: 1848, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 34, column: 55, position: 1850, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 34, column: 59, position: 1854, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 34, column: 60, position: 1855, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 34, column: 62, position: 1857, }, }, }, ), ), ending: Semicolon( Span { line: 34, column: 63, position: 1858, }, ), }, ), ], right_brace: Span { line: 34, column: 65, position: 1860, }, }, }, ), ending: Semicolon( Span { line: 34, column: 66, position: 1861, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 35, column: 1, position: 1863, }, ), ampersand: None, fn: Span { line: 35, column: 8, position: 1870, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 35, column: 11, position: 1873, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 35, column: 30, position: 1892, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 35, column: 12, position: 1874, }, "Foo", ), Union( [ Named( Span { line: 35, column: 17, position: 1879, }, "Bar", ), Named( Span { line: 35, column: 21, position: 1883, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 35, column: 27, position: 1889, }, ), default: None, ampersand: Some( Span { line: 35, column: 27, position: 1889, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 35, column: 32, position: 1894, }, }, return_type: Some( ReturnType { colon: Span { line: 35, column: 33, position: 1895, }, data_type: Named( Span { line: 35, column: 35, position: 1897, }, "Bar", ), }, ), double_arrow: Span { line: 35, column: 39, position: 1901, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 35, column: 42, position: 1904, }, value: "Bar", }, ), ), double_colon: Span { line: 35, column: 45, position: 1907, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 35, column: 47, position: 1909, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 35, column: 51, position: 1913, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 35, column: 52, position: 1914, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 35, column: 54, position: 1916, }, }, }, ), }, ), ending: Semicolon( Span { line: 35, column: 55, position: 1917, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 36, column: 1, position: 1919, }, ), ampersand: None, fn: Span { line: 36, column: 8, position: 1926, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 36, column: 11, position: 1929, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 36, column: 29, position: 1947, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 36, column: 12, position: 1930, }, "Foo", ), Union( [ Named( Span { line: 36, column: 17, position: 1935, }, "Bar", ), Named( Span { line: 36, column: 21, position: 1939, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 36, column: 26, position: 1944, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 36, column: 31, position: 1949, }, }, return_type: Some( ReturnType { colon: Span { line: 36, column: 32, position: 1950, }, data_type: Named( Span { line: 36, column: 34, position: 1952, }, "Bar", ), }, ), double_arrow: Span { line: 36, column: 38, position: 1956, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 36, column: 41, position: 1959, }, value: "Bar", }, ), ), double_colon: Span { line: 36, column: 44, position: 1962, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 36, column: 46, position: 1964, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 36, column: 50, position: 1968, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 36, column: 51, position: 1969, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 36, column: 53, position: 1971, }, }, }, ), }, ), ending: Semicolon( Span { line: 36, column: 54, position: 1972, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 37, column: 1, position: 1974, }, ), ampersand: None, fn: Span { line: 37, column: 8, position: 1981, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 37, column: 11, position: 1984, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 37, column: 27, position: 2000, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 37, column: 12, position: 1985, }, "Foo", ), Union( [ Named( Span { line: 37, column: 17, position: 1990, }, "Bar", ), Named( Span { line: 37, column: 21, position: 1994, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 37, column: 27, position: 2000, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 37, column: 29, position: 2002, }, }, return_type: Some( ReturnType { colon: Span { line: 37, column: 30, position: 2003, }, data_type: Named( Span { line: 37, column: 32, position: 2005, }, "Bar", ), }, ), double_arrow: Span { line: 37, column: 36, position: 2009, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 37, column: 39, position: 2012, }, value: "Bar", }, ), ), double_colon: Span { line: 37, column: 42, position: 2015, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 37, column: 44, position: 2017, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 37, column: 48, position: 2021, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 37, column: 49, position: 2022, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 37, column: 51, position: 2024, }, }, }, ), }, ), ending: Semicolon( Span { line: 37, column: 52, position: 2025, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: Some( Span { line: 38, column: 1, position: 2027, }, ), ampersand: None, fn: Span { line: 38, column: 8, position: 2034, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 38, column: 11, position: 2037, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 38, column: 26, position: 2052, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 38, column: 12, position: 2038, }, "Foo", ), Union( [ Named( Span { line: 38, column: 17, position: 2043, }, "Bar", ), Named( Span { line: 38, column: 21, position: 2047, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 38, column: 28, position: 2054, }, }, return_type: Some( ReturnType { colon: Span { line: 38, column: 29, position: 2055, }, data_type: Named( Span { line: 38, column: 31, position: 2057, }, "Bar", ), }, ), double_arrow: Span { line: 38, column: 35, position: 2061, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 38, column: 38, position: 2064, }, value: "Bar", }, ), ), double_colon: Span { line: 38, column: 41, position: 2067, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 38, column: 43, position: 2069, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 38, column: 47, position: 2073, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 38, column: 48, position: 2074, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 38, column: 50, position: 2076, }, }, }, ), }, ), ending: Semicolon( Span { line: 38, column: 51, position: 2077, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 39, column: 1, position: 2079, }, ), function: Span { line: 39, column: 8, position: 2086, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 39, column: 17, position: 2095, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 39, column: 36, position: 2114, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 39, column: 18, position: 2096, }, "Foo", ), Union( [ Named( Span { line: 39, column: 23, position: 2101, }, "Bar", ), Named( Span { line: 39, column: 27, position: 2105, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 39, column: 33, position: 2111, }, ), default: None, ampersand: Some( Span { line: 39, column: 33, position: 2111, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 39, column: 38, position: 2116, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 39, column: 39, position: 2117, }, data_type: Named( Span { line: 39, column: 41, position: 2119, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 39, column: 45, position: 2123, }, statements: [ Return( ReturnStatement { return: Span { line: 39, column: 47, position: 2125, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 39, column: 54, position: 2132, }, value: "Bar", }, ), ), double_colon: Span { line: 39, column: 57, position: 2135, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 39, column: 59, position: 2137, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 39, column: 63, position: 2141, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 39, column: 64, position: 2142, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 39, column: 66, position: 2144, }, }, }, ), ), ending: Semicolon( Span { line: 39, column: 67, position: 2145, }, ), }, ), ], right_brace: Span { line: 39, column: 69, position: 2147, }, }, }, ), ending: Semicolon( Span { line: 39, column: 70, position: 2148, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 40, column: 1, position: 2150, }, ), function: Span { line: 40, column: 8, position: 2157, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 40, column: 17, position: 2166, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 40, column: 35, position: 2184, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 40, column: 18, position: 2167, }, "Foo", ), Union( [ Named( Span { line: 40, column: 23, position: 2172, }, "Bar", ), Named( Span { line: 40, column: 27, position: 2176, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 40, column: 32, position: 2181, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 40, column: 37, position: 2186, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 40, column: 38, position: 2187, }, data_type: Named( Span { line: 40, column: 40, position: 2189, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 40, column: 44, position: 2193, }, statements: [ Return( ReturnStatement { return: Span { line: 40, column: 46, position: 2195, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 40, column: 53, position: 2202, }, value: "Bar", }, ), ), double_colon: Span { line: 40, column: 56, position: 2205, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 40, column: 58, position: 2207, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 40, column: 62, position: 2211, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 40, column: 63, position: 2212, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 40, column: 65, position: 2214, }, }, }, ), ), ending: Semicolon( Span { line: 40, column: 66, position: 2215, }, ), }, ), ], right_brace: Span { line: 40, column: 68, position: 2217, }, }, }, ), ending: Semicolon( Span { line: 40, column: 69, position: 2218, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 41, column: 1, position: 2220, }, ), function: Span { line: 41, column: 8, position: 2227, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 41, column: 17, position: 2236, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 41, column: 33, position: 2252, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 41, column: 18, position: 2237, }, "Foo", ), Union( [ Named( Span { line: 41, column: 23, position: 2242, }, "Bar", ), Named( Span { line: 41, column: 27, position: 2246, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 41, column: 33, position: 2252, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 41, column: 35, position: 2254, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 41, column: 36, position: 2255, }, data_type: Named( Span { line: 41, column: 38, position: 2257, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 41, column: 42, position: 2261, }, statements: [ Return( ReturnStatement { return: Span { line: 41, column: 44, position: 2263, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 41, column: 51, position: 2270, }, value: "Bar", }, ), ), double_colon: Span { line: 41, column: 54, position: 2273, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 41, column: 56, position: 2275, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 41, column: 60, position: 2279, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 41, column: 61, position: 2280, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 41, column: 63, position: 2282, }, }, }, ), ), ending: Semicolon( Span { line: 41, column: 64, position: 2283, }, ), }, ), ], right_brace: Span { line: 41, column: 66, position: 2285, }, }, }, ), ending: Semicolon( Span { line: 41, column: 67, position: 2286, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: Some( Span { line: 42, column: 1, position: 2288, }, ), function: Span { line: 42, column: 8, position: 2295, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 42, column: 17, position: 2304, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 42, column: 32, position: 2319, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 42, column: 18, position: 2305, }, "Foo", ), Union( [ Named( Span { line: 42, column: 23, position: 2310, }, "Bar", ), Named( Span { line: 42, column: 27, position: 2314, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 42, column: 34, position: 2321, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 42, column: 35, position: 2322, }, data_type: Named( Span { line: 42, column: 37, position: 2324, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 42, column: 41, position: 2328, }, statements: [ Return( ReturnStatement { return: Span { line: 42, column: 43, position: 2330, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 42, column: 50, position: 2337, }, value: "Bar", }, ), ), double_colon: Span { line: 42, column: 53, position: 2340, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 42, column: 55, position: 2342, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 42, column: 59, position: 2346, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 42, column: 60, position: 2347, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 42, column: 62, position: 2349, }, }, }, ), ), ending: Semicolon( Span { line: 42, column: 63, position: 2350, }, ), }, ), ], right_brace: Span { line: 42, column: 65, position: 2352, }, }, }, ), ending: Semicolon( Span { line: 42, column: 66, position: 2353, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 44, column: 1, position: 2356, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 44, column: 4, position: 2359, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 44, column: 13, position: 2368, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 44, column: 5, position: 2360, }, "Foo", ), ), ellipsis: Some( Span { line: 44, column: 10, position: 2365, }, ), default: None, ampersand: Some( Span { line: 44, column: 10, position: 2365, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 44, column: 15, position: 2370, }, }, return_type: Some( ReturnType { colon: Span { line: 44, column: 16, position: 2371, }, data_type: Named( Span { line: 44, column: 18, position: 2373, }, "Bar", ), }, ), double_arrow: Span { line: 44, column: 22, position: 2377, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 44, column: 25, position: 2380, }, value: "Bar", }, ), ), double_colon: Span { line: 44, column: 28, position: 2383, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 44, column: 30, position: 2385, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 44, column: 34, position: 2389, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 44, column: 35, position: 2390, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 44, column: 37, position: 2392, }, }, }, ), }, ), ending: Semicolon( Span { line: 44, column: 38, position: 2393, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 45, column: 1, position: 2395, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 45, column: 4, position: 2398, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 45, column: 12, position: 2406, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 45, column: 5, position: 2399, }, "Foo", ), ), ellipsis: Some( Span { line: 45, column: 9, position: 2403, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 45, column: 14, position: 2408, }, }, return_type: Some( ReturnType { colon: Span { line: 45, column: 15, position: 2409, }, data_type: Named( Span { line: 45, column: 17, position: 2411, }, "Bar", ), }, ), double_arrow: Span { line: 45, column: 21, position: 2415, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 45, column: 24, position: 2418, }, value: "Bar", }, ), ), double_colon: Span { line: 45, column: 27, position: 2421, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 45, column: 29, position: 2423, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 45, column: 33, position: 2427, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 45, column: 34, position: 2428, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 45, column: 36, position: 2430, }, }, }, ), }, ), ending: Semicolon( Span { line: 45, column: 37, position: 2431, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 46, column: 1, position: 2433, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 46, column: 4, position: 2436, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 46, column: 10, position: 2442, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 46, column: 5, position: 2437, }, "Foo", ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 46, column: 10, position: 2442, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 46, column: 12, position: 2444, }, }, return_type: Some( ReturnType { colon: Span { line: 46, column: 13, position: 2445, }, data_type: Named( Span { line: 46, column: 15, position: 2447, }, "Bar", ), }, ), double_arrow: Span { line: 46, column: 19, position: 2451, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 46, column: 22, position: 2454, }, value: "Bar", }, ), ), double_colon: Span { line: 46, column: 25, position: 2457, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 46, column: 27, position: 2459, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 46, column: 31, position: 2463, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 46, column: 32, position: 2464, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 46, column: 34, position: 2466, }, }, }, ), }, ), ending: Semicolon( Span { line: 46, column: 35, position: 2467, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 47, column: 1, position: 2469, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 47, column: 4, position: 2472, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 47, column: 9, position: 2477, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 47, column: 5, position: 2473, }, "Foo", ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 47, column: 11, position: 2479, }, }, return_type: Some( ReturnType { colon: Span { line: 47, column: 12, position: 2480, }, data_type: Named( Span { line: 47, column: 14, position: 2482, }, "Bar", ), }, ), double_arrow: Span { line: 47, column: 18, position: 2486, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 47, column: 21, position: 2489, }, value: "Bar", }, ), ), double_colon: Span { line: 47, column: 24, position: 2492, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 47, column: 26, position: 2494, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 47, column: 30, position: 2498, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 47, column: 31, position: 2499, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 47, column: 33, position: 2501, }, }, }, ), }, ), ending: Semicolon( Span { line: 47, column: 34, position: 2502, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 48, column: 1, position: 2504, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 48, column: 10, position: 2513, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 48, column: 19, position: 2522, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 48, column: 11, position: 2514, }, "Foo", ), ), ellipsis: Some( Span { line: 48, column: 16, position: 2519, }, ), default: None, ampersand: Some( Span { line: 48, column: 16, position: 2519, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 48, column: 21, position: 2524, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 48, column: 22, position: 2525, }, data_type: Named( Span { line: 48, column: 24, position: 2527, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 48, column: 28, position: 2531, }, statements: [ Return( ReturnStatement { return: Span { line: 48, column: 30, position: 2533, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 48, column: 37, position: 2540, }, value: "Bar", }, ), ), double_colon: Span { line: 48, column: 40, position: 2543, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 48, column: 42, position: 2545, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 48, column: 46, position: 2549, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 48, column: 47, position: 2550, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 48, column: 49, position: 2552, }, }, }, ), ), ending: Semicolon( Span { line: 48, column: 50, position: 2553, }, ), }, ), ], right_brace: Span { line: 48, column: 52, position: 2555, }, }, }, ), ending: Semicolon( Span { line: 48, column: 53, position: 2556, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 49, column: 1, position: 2558, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 49, column: 10, position: 2567, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 49, column: 18, position: 2575, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 49, column: 11, position: 2568, }, "Foo", ), ), ellipsis: Some( Span { line: 49, column: 15, position: 2572, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 49, column: 20, position: 2577, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 49, column: 21, position: 2578, }, data_type: Named( Span { line: 49, column: 23, position: 2580, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 49, column: 27, position: 2584, }, statements: [ Return( ReturnStatement { return: Span { line: 49, column: 29, position: 2586, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 49, column: 36, position: 2593, }, value: "Bar", }, ), ), double_colon: Span { line: 49, column: 39, position: 2596, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 49, column: 41, position: 2598, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 49, column: 45, position: 2602, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 49, column: 46, position: 2603, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 49, column: 48, position: 2605, }, }, }, ), ), ending: Semicolon( Span { line: 49, column: 49, position: 2606, }, ), }, ), ], right_brace: Span { line: 49, column: 51, position: 2608, }, }, }, ), ending: Semicolon( Span { line: 49, column: 52, position: 2609, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 50, column: 1, position: 2611, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 50, column: 10, position: 2620, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 50, column: 16, position: 2626, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 50, column: 11, position: 2621, }, "Foo", ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 50, column: 16, position: 2626, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 50, column: 18, position: 2628, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 50, column: 19, position: 2629, }, data_type: Named( Span { line: 50, column: 21, position: 2631, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 50, column: 25, position: 2635, }, statements: [ Return( ReturnStatement { return: Span { line: 50, column: 27, position: 2637, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 50, column: 34, position: 2644, }, value: "Bar", }, ), ), double_colon: Span { line: 50, column: 37, position: 2647, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 50, column: 39, position: 2649, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 50, column: 43, position: 2653, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 50, column: 44, position: 2654, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 50, column: 46, position: 2656, }, }, }, ), ), ending: Semicolon( Span { line: 50, column: 47, position: 2657, }, ), }, ), ], right_brace: Span { line: 50, column: 49, position: 2659, }, }, }, ), ending: Semicolon( Span { line: 50, column: 50, position: 2660, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 51, column: 1, position: 2662, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 51, column: 10, position: 2671, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 51, column: 15, position: 2676, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 51, column: 11, position: 2672, }, "Foo", ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 51, column: 17, position: 2678, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 51, column: 18, position: 2679, }, data_type: Named( Span { line: 51, column: 20, position: 2681, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 51, column: 24, position: 2685, }, statements: [ Return( ReturnStatement { return: Span { line: 51, column: 26, position: 2687, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 51, column: 33, position: 2694, }, value: "Bar", }, ), ), double_colon: Span { line: 51, column: 36, position: 2697, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 51, column: 38, position: 2699, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 51, column: 42, position: 2703, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 51, column: 43, position: 2704, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 51, column: 45, position: 2706, }, }, }, ), ), ending: Semicolon( Span { line: 51, column: 46, position: 2707, }, ), }, ), ], right_brace: Span { line: 51, column: 48, position: 2709, }, }, }, ), ending: Semicolon( Span { line: 51, column: 49, position: 2710, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 52, column: 1, position: 2712, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 52, column: 4, position: 2715, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 52, column: 21, position: 2732, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 52, column: 5, position: 2716, }, "Foo", ), Named( Span { line: 52, column: 9, position: 2720, }, "Bar", ), Named( Span { line: 52, column: 13, position: 2724, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 52, column: 18, position: 2729, }, ), default: None, ampersand: Some( Span { line: 52, column: 18, position: 2729, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 52, column: 23, position: 2734, }, }, return_type: Some( ReturnType { colon: Span { line: 52, column: 24, position: 2735, }, data_type: Named( Span { line: 52, column: 26, position: 2737, }, "Bar", ), }, ), double_arrow: Span { line: 52, column: 30, position: 2741, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 52, column: 33, position: 2744, }, value: "Bar", }, ), ), double_colon: Span { line: 52, column: 36, position: 2747, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 52, column: 38, position: 2749, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 52, column: 42, position: 2753, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 52, column: 43, position: 2754, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 52, column: 45, position: 2756, }, }, }, ), }, ), ending: Semicolon( Span { line: 52, column: 46, position: 2757, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 53, column: 1, position: 2759, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 53, column: 4, position: 2762, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 53, column: 20, position: 2778, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 53, column: 5, position: 2763, }, "Foo", ), Named( Span { line: 53, column: 9, position: 2767, }, "Bar", ), Named( Span { line: 53, column: 13, position: 2771, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 53, column: 17, position: 2775, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 53, column: 22, position: 2780, }, }, return_type: Some( ReturnType { colon: Span { line: 53, column: 23, position: 2781, }, data_type: Named( Span { line: 53, column: 25, position: 2783, }, "Bar", ), }, ), double_arrow: Span { line: 53, column: 29, position: 2787, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 53, column: 32, position: 2790, }, value: "Bar", }, ), ), double_colon: Span { line: 53, column: 35, position: 2793, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 53, column: 37, position: 2795, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 53, column: 41, position: 2799, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 53, column: 42, position: 2800, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 53, column: 44, position: 2802, }, }, }, ), }, ), ending: Semicolon( Span { line: 53, column: 45, position: 2803, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 54, column: 1, position: 2805, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 54, column: 4, position: 2808, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 54, column: 18, position: 2822, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 54, column: 5, position: 2809, }, "Foo", ), Named( Span { line: 54, column: 9, position: 2813, }, "Bar", ), Named( Span { line: 54, column: 13, position: 2817, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 54, column: 18, position: 2822, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 54, column: 20, position: 2824, }, }, return_type: Some( ReturnType { colon: Span { line: 54, column: 21, position: 2825, }, data_type: Named( Span { line: 54, column: 23, position: 2827, }, "Bar", ), }, ), double_arrow: Span { line: 54, column: 27, position: 2831, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 54, column: 30, position: 2834, }, value: "Bar", }, ), ), double_colon: Span { line: 54, column: 33, position: 2837, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 54, column: 35, position: 2839, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 54, column: 39, position: 2843, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 54, column: 40, position: 2844, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 54, column: 42, position: 2846, }, }, }, ), }, ), ending: Semicolon( Span { line: 54, column: 43, position: 2847, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 55, column: 1, position: 2849, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 55, column: 4, position: 2852, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 55, column: 17, position: 2865, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 55, column: 5, position: 2853, }, "Foo", ), Named( Span { line: 55, column: 9, position: 2857, }, "Bar", ), Named( Span { line: 55, column: 13, position: 2861, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 55, column: 19, position: 2867, }, }, return_type: Some( ReturnType { colon: Span { line: 55, column: 20, position: 2868, }, data_type: Named( Span { line: 55, column: 22, position: 2870, }, "Bar", ), }, ), double_arrow: Span { line: 55, column: 26, position: 2874, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 55, column: 29, position: 2877, }, value: "Bar", }, ), ), double_colon: Span { line: 55, column: 32, position: 2880, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 55, column: 34, position: 2882, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 55, column: 38, position: 2886, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 55, column: 39, position: 2887, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 55, column: 41, position: 2889, }, }, }, ), }, ), ending: Semicolon( Span { line: 55, column: 42, position: 2890, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 56, column: 1, position: 2892, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 56, column: 10, position: 2901, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 56, column: 27, position: 2918, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 56, column: 11, position: 2902, }, "Foo", ), Named( Span { line: 56, column: 15, position: 2906, }, "Bar", ), Named( Span { line: 56, column: 19, position: 2910, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 56, column: 24, position: 2915, }, ), default: None, ampersand: Some( Span { line: 56, column: 24, position: 2915, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 56, column: 29, position: 2920, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 56, column: 30, position: 2921, }, data_type: Named( Span { line: 56, column: 32, position: 2923, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 56, column: 36, position: 2927, }, statements: [ Return( ReturnStatement { return: Span { line: 56, column: 38, position: 2929, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 56, column: 45, position: 2936, }, value: "Bar", }, ), ), double_colon: Span { line: 56, column: 48, position: 2939, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 56, column: 50, position: 2941, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 56, column: 54, position: 2945, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 56, column: 55, position: 2946, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 56, column: 57, position: 2948, }, }, }, ), ), ending: Semicolon( Span { line: 56, column: 58, position: 2949, }, ), }, ), ], right_brace: Span { line: 56, column: 60, position: 2951, }, }, }, ), ending: Semicolon( Span { line: 56, column: 61, position: 2952, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 57, column: 1, position: 2954, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 57, column: 10, position: 2963, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 57, column: 26, position: 2979, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 57, column: 11, position: 2964, }, "Foo", ), Named( Span { line: 57, column: 15, position: 2968, }, "Bar", ), Named( Span { line: 57, column: 19, position: 2972, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 57, column: 23, position: 2976, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 57, column: 28, position: 2981, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 57, column: 29, position: 2982, }, data_type: Named( Span { line: 57, column: 31, position: 2984, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 57, column: 35, position: 2988, }, statements: [ Return( ReturnStatement { return: Span { line: 57, column: 37, position: 2990, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 57, column: 44, position: 2997, }, value: "Bar", }, ), ), double_colon: Span { line: 57, column: 47, position: 3000, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 57, column: 49, position: 3002, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 57, column: 53, position: 3006, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 57, column: 54, position: 3007, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 57, column: 56, position: 3009, }, }, }, ), ), ending: Semicolon( Span { line: 57, column: 57, position: 3010, }, ), }, ), ], right_brace: Span { line: 57, column: 59, position: 3012, }, }, }, ), ending: Semicolon( Span { line: 57, column: 60, position: 3013, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 58, column: 1, position: 3015, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 58, column: 10, position: 3024, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 58, column: 24, position: 3038, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 58, column: 11, position: 3025, }, "Foo", ), Named( Span { line: 58, column: 15, position: 3029, }, "Bar", ), Named( Span { line: 58, column: 19, position: 3033, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 58, column: 24, position: 3038, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 58, column: 26, position: 3040, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 58, column: 27, position: 3041, }, data_type: Named( Span { line: 58, column: 29, position: 3043, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 58, column: 33, position: 3047, }, statements: [ Return( ReturnStatement { return: Span { line: 58, column: 35, position: 3049, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 58, column: 42, position: 3056, }, value: "Bar", }, ), ), double_colon: Span { line: 58, column: 45, position: 3059, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 58, column: 47, position: 3061, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 58, column: 51, position: 3065, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 58, column: 52, position: 3066, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 58, column: 54, position: 3068, }, }, }, ), ), ending: Semicolon( Span { line: 58, column: 55, position: 3069, }, ), }, ), ], right_brace: Span { line: 58, column: 57, position: 3071, }, }, }, ), ending: Semicolon( Span { line: 58, column: 58, position: 3072, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 59, column: 1, position: 3074, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 59, column: 10, position: 3083, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 59, column: 23, position: 3096, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 59, column: 11, position: 3084, }, "Foo", ), Named( Span { line: 59, column: 15, position: 3088, }, "Bar", ), Named( Span { line: 59, column: 19, position: 3092, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 59, column: 25, position: 3098, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 59, column: 26, position: 3099, }, data_type: Named( Span { line: 59, column: 28, position: 3101, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 59, column: 32, position: 3105, }, statements: [ Return( ReturnStatement { return: Span { line: 59, column: 34, position: 3107, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 59, column: 41, position: 3114, }, value: "Bar", }, ), ), double_colon: Span { line: 59, column: 44, position: 3117, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 59, column: 46, position: 3119, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 59, column: 50, position: 3123, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 59, column: 51, position: 3124, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 59, column: 53, position: 3126, }, }, }, ), ), ending: Semicolon( Span { line: 59, column: 54, position: 3127, }, ), }, ), ], right_brace: Span { line: 59, column: 56, position: 3129, }, }, }, ), ending: Semicolon( Span { line: 59, column: 57, position: 3130, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 60, column: 1, position: 3132, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 60, column: 4, position: 3135, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 60, column: 21, position: 3152, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 60, column: 5, position: 3136, }, "Foo", ), Named( Span { line: 60, column: 9, position: 3140, }, "Bar", ), Named( Span { line: 60, column: 13, position: 3144, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 60, column: 18, position: 3149, }, ), default: None, ampersand: Some( Span { line: 60, column: 18, position: 3149, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 60, column: 23, position: 3154, }, }, return_type: Some( ReturnType { colon: Span { line: 60, column: 24, position: 3155, }, data_type: Named( Span { line: 60, column: 26, position: 3157, }, "Bar", ), }, ), double_arrow: Span { line: 60, column: 30, position: 3161, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 60, column: 33, position: 3164, }, value: "Bar", }, ), ), double_colon: Span { line: 60, column: 36, position: 3167, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 60, column: 38, position: 3169, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 60, column: 42, position: 3173, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 60, column: 43, position: 3174, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 60, column: 45, position: 3176, }, }, }, ), }, ), ending: Semicolon( Span { line: 60, column: 46, position: 3177, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 61, column: 1, position: 3179, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 61, column: 4, position: 3182, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 61, column: 20, position: 3198, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 61, column: 5, position: 3183, }, "Foo", ), Named( Span { line: 61, column: 9, position: 3187, }, "Bar", ), Named( Span { line: 61, column: 13, position: 3191, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 61, column: 17, position: 3195, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 61, column: 22, position: 3200, }, }, return_type: Some( ReturnType { colon: Span { line: 61, column: 23, position: 3201, }, data_type: Named( Span { line: 61, column: 25, position: 3203, }, "Bar", ), }, ), double_arrow: Span { line: 61, column: 29, position: 3207, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 61, column: 32, position: 3210, }, value: "Bar", }, ), ), double_colon: Span { line: 61, column: 35, position: 3213, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 61, column: 37, position: 3215, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 61, column: 41, position: 3219, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 61, column: 42, position: 3220, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 61, column: 44, position: 3222, }, }, }, ), }, ), ending: Semicolon( Span { line: 61, column: 45, position: 3223, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 62, column: 1, position: 3225, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 62, column: 4, position: 3228, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 62, column: 18, position: 3242, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 62, column: 5, position: 3229, }, "Foo", ), Named( Span { line: 62, column: 9, position: 3233, }, "Bar", ), Named( Span { line: 62, column: 13, position: 3237, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 62, column: 18, position: 3242, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 62, column: 20, position: 3244, }, }, return_type: Some( ReturnType { colon: Span { line: 62, column: 21, position: 3245, }, data_type: Named( Span { line: 62, column: 23, position: 3247, }, "Bar", ), }, ), double_arrow: Span { line: 62, column: 27, position: 3251, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 62, column: 30, position: 3254, }, value: "Bar", }, ), ), double_colon: Span { line: 62, column: 33, position: 3257, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 62, column: 35, position: 3259, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 62, column: 39, position: 3263, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 62, column: 40, position: 3264, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 62, column: 42, position: 3266, }, }, }, ), }, ), ending: Semicolon( Span { line: 62, column: 43, position: 3267, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 63, column: 1, position: 3269, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 63, column: 4, position: 3272, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 63, column: 17, position: 3285, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 63, column: 5, position: 3273, }, "Foo", ), Named( Span { line: 63, column: 9, position: 3277, }, "Bar", ), Named( Span { line: 63, column: 13, position: 3281, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 63, column: 19, position: 3287, }, }, return_type: Some( ReturnType { colon: Span { line: 63, column: 20, position: 3288, }, data_type: Named( Span { line: 63, column: 22, position: 3290, }, "Bar", ), }, ), double_arrow: Span { line: 63, column: 26, position: 3294, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 63, column: 29, position: 3297, }, value: "Bar", }, ), ), double_colon: Span { line: 63, column: 32, position: 3300, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 63, column: 34, position: 3302, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 63, column: 38, position: 3306, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 63, column: 39, position: 3307, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 63, column: 41, position: 3309, }, }, }, ), }, ), ending: Semicolon( Span { line: 63, column: 42, position: 3310, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 64, column: 1, position: 3312, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 64, column: 10, position: 3321, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 64, column: 27, position: 3338, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 64, column: 11, position: 3322, }, "Foo", ), Named( Span { line: 64, column: 15, position: 3326, }, "Bar", ), Named( Span { line: 64, column: 19, position: 3330, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 64, column: 24, position: 3335, }, ), default: None, ampersand: Some( Span { line: 64, column: 24, position: 3335, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 64, column: 29, position: 3340, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 64, column: 30, position: 3341, }, data_type: Named( Span { line: 64, column: 32, position: 3343, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 64, column: 36, position: 3347, }, statements: [ Return( ReturnStatement { return: Span { line: 64, column: 38, position: 3349, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 64, column: 45, position: 3356, }, value: "Bar", }, ), ), double_colon: Span { line: 64, column: 48, position: 3359, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 64, column: 50, position: 3361, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 64, column: 54, position: 3365, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 64, column: 55, position: 3366, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 64, column: 57, position: 3368, }, }, }, ), ), ending: Semicolon( Span { line: 64, column: 58, position: 3369, }, ), }, ), ], right_brace: Span { line: 64, column: 60, position: 3371, }, }, }, ), ending: Semicolon( Span { line: 64, column: 61, position: 3372, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 65, column: 1, position: 3374, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 65, column: 10, position: 3383, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 65, column: 26, position: 3399, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 65, column: 11, position: 3384, }, "Foo", ), Named( Span { line: 65, column: 15, position: 3388, }, "Bar", ), Named( Span { line: 65, column: 19, position: 3392, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 65, column: 23, position: 3396, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 65, column: 28, position: 3401, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 65, column: 29, position: 3402, }, data_type: Named( Span { line: 65, column: 31, position: 3404, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 65, column: 35, position: 3408, }, statements: [ Return( ReturnStatement { return: Span { line: 65, column: 37, position: 3410, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 65, column: 44, position: 3417, }, value: "Bar", }, ), ), double_colon: Span { line: 65, column: 47, position: 3420, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 65, column: 49, position: 3422, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 65, column: 53, position: 3426, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 65, column: 54, position: 3427, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 65, column: 56, position: 3429, }, }, }, ), ), ending: Semicolon( Span { line: 65, column: 57, position: 3430, }, ), }, ), ], right_brace: Span { line: 65, column: 59, position: 3432, }, }, }, ), ending: Semicolon( Span { line: 65, column: 60, position: 3433, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 66, column: 1, position: 3435, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 66, column: 10, position: 3444, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 66, column: 24, position: 3458, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 66, column: 11, position: 3445, }, "Foo", ), Named( Span { line: 66, column: 15, position: 3449, }, "Bar", ), Named( Span { line: 66, column: 19, position: 3453, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 66, column: 24, position: 3458, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 66, column: 26, position: 3460, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 66, column: 27, position: 3461, }, data_type: Named( Span { line: 66, column: 29, position: 3463, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 66, column: 33, position: 3467, }, statements: [ Return( ReturnStatement { return: Span { line: 66, column: 35, position: 3469, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 66, column: 42, position: 3476, }, value: "Bar", }, ), ), double_colon: Span { line: 66, column: 45, position: 3479, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 66, column: 47, position: 3481, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 66, column: 51, position: 3485, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 66, column: 52, position: 3486, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 66, column: 54, position: 3488, }, }, }, ), ), ending: Semicolon( Span { line: 66, column: 55, position: 3489, }, ), }, ), ], right_brace: Span { line: 66, column: 57, position: 3491, }, }, }, ), ending: Semicolon( Span { line: 66, column: 58, position: 3492, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 67, column: 1, position: 3494, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 67, column: 10, position: 3503, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 67, column: 23, position: 3516, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 67, column: 11, position: 3504, }, "Foo", ), Named( Span { line: 67, column: 15, position: 3508, }, "Bar", ), Named( Span { line: 67, column: 19, position: 3512, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 67, column: 25, position: 3518, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 67, column: 26, position: 3519, }, data_type: Named( Span { line: 67, column: 28, position: 3521, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 67, column: 32, position: 3525, }, statements: [ Return( ReturnStatement { return: Span { line: 67, column: 34, position: 3527, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 67, column: 41, position: 3534, }, value: "Bar", }, ), ), double_colon: Span { line: 67, column: 44, position: 3537, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 67, column: 46, position: 3539, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 67, column: 50, position: 3543, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 67, column: 51, position: 3544, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 67, column: 53, position: 3546, }, }, }, ), ), ending: Semicolon( Span { line: 67, column: 54, position: 3547, }, ), }, ), ], right_brace: Span { line: 67, column: 56, position: 3549, }, }, }, ), ending: Semicolon( Span { line: 67, column: 57, position: 3550, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 68, column: 1, position: 3552, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 68, column: 4, position: 3555, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 68, column: 23, position: 3574, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 68, column: 5, position: 3556, }, "Foo", ), Intersection( [ Named( Span { line: 68, column: 10, position: 3561, }, "Bar", ), Named( Span { line: 68, column: 14, position: 3565, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 68, column: 20, position: 3571, }, ), default: None, ampersand: Some( Span { line: 68, column: 20, position: 3571, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 68, column: 25, position: 3576, }, }, return_type: Some( ReturnType { colon: Span { line: 68, column: 26, position: 3577, }, data_type: Named( Span { line: 68, column: 28, position: 3579, }, "Bar", ), }, ), double_arrow: Span { line: 68, column: 32, position: 3583, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 68, column: 35, position: 3586, }, value: "Bar", }, ), ), double_colon: Span { line: 68, column: 38, position: 3589, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 68, column: 40, position: 3591, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 68, column: 44, position: 3595, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 68, column: 45, position: 3596, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 68, column: 47, position: 3598, }, }, }, ), }, ), ending: Semicolon( Span { line: 68, column: 48, position: 3599, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 69, column: 1, position: 3601, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 69, column: 4, position: 3604, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 69, column: 22, position: 3622, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 69, column: 5, position: 3605, }, "Foo", ), Intersection( [ Named( Span { line: 69, column: 10, position: 3610, }, "Bar", ), Named( Span { line: 69, column: 14, position: 3614, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 69, column: 19, position: 3619, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 69, column: 24, position: 3624, }, }, return_type: Some( ReturnType { colon: Span { line: 69, column: 25, position: 3625, }, data_type: Named( Span { line: 69, column: 27, position: 3627, }, "Bar", ), }, ), double_arrow: Span { line: 69, column: 31, position: 3631, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 69, column: 34, position: 3634, }, value: "Bar", }, ), ), double_colon: Span { line: 69, column: 37, position: 3637, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 69, column: 39, position: 3639, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 69, column: 43, position: 3643, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 69, column: 44, position: 3644, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 69, column: 46, position: 3646, }, }, }, ), }, ), ending: Semicolon( Span { line: 69, column: 47, position: 3647, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 70, column: 1, position: 3649, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 70, column: 4, position: 3652, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 70, column: 20, position: 3668, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 70, column: 5, position: 3653, }, "Foo", ), Intersection( [ Named( Span { line: 70, column: 10, position: 3658, }, "Bar", ), Named( Span { line: 70, column: 14, position: 3662, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 70, column: 20, position: 3668, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 70, column: 22, position: 3670, }, }, return_type: Some( ReturnType { colon: Span { line: 70, column: 23, position: 3671, }, data_type: Named( Span { line: 70, column: 25, position: 3673, }, "Bar", ), }, ), double_arrow: Span { line: 70, column: 29, position: 3677, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 70, column: 32, position: 3680, }, value: "Bar", }, ), ), double_colon: Span { line: 70, column: 35, position: 3683, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 70, column: 37, position: 3685, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 70, column: 41, position: 3689, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 70, column: 42, position: 3690, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 70, column: 44, position: 3692, }, }, }, ), }, ), ending: Semicolon( Span { line: 70, column: 45, position: 3693, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 71, column: 1, position: 3695, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 71, column: 4, position: 3698, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 71, column: 19, position: 3713, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 71, column: 5, position: 3699, }, "Foo", ), Intersection( [ Named( Span { line: 71, column: 10, position: 3704, }, "Bar", ), Named( Span { line: 71, column: 14, position: 3708, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 71, column: 21, position: 3715, }, }, return_type: Some( ReturnType { colon: Span { line: 71, column: 22, position: 3716, }, data_type: Named( Span { line: 71, column: 24, position: 3718, }, "Bar", ), }, ), double_arrow: Span { line: 71, column: 28, position: 3722, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 71, column: 31, position: 3725, }, value: "Bar", }, ), ), double_colon: Span { line: 71, column: 34, position: 3728, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 71, column: 36, position: 3730, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 71, column: 40, position: 3734, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 71, column: 41, position: 3735, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 71, column: 43, position: 3737, }, }, }, ), }, ), ending: Semicolon( Span { line: 71, column: 44, position: 3738, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 72, column: 1, position: 3740, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 72, column: 10, position: 3749, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 72, column: 29, position: 3768, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 72, column: 11, position: 3750, }, "Foo", ), Intersection( [ Named( Span { line: 72, column: 16, position: 3755, }, "Bar", ), Named( Span { line: 72, column: 20, position: 3759, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 72, column: 26, position: 3765, }, ), default: None, ampersand: Some( Span { line: 72, column: 26, position: 3765, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 72, column: 31, position: 3770, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 72, column: 32, position: 3771, }, data_type: Named( Span { line: 72, column: 34, position: 3773, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 72, column: 38, position: 3777, }, statements: [ Return( ReturnStatement { return: Span { line: 72, column: 40, position: 3779, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 72, column: 47, position: 3786, }, value: "Bar", }, ), ), double_colon: Span { line: 72, column: 50, position: 3789, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 72, column: 52, position: 3791, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 72, column: 56, position: 3795, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 72, column: 57, position: 3796, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 72, column: 59, position: 3798, }, }, }, ), ), ending: Semicolon( Span { line: 72, column: 60, position: 3799, }, ), }, ), ], right_brace: Span { line: 72, column: 62, position: 3801, }, }, }, ), ending: Semicolon( Span { line: 72, column: 63, position: 3802, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 73, column: 1, position: 3804, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 73, column: 10, position: 3813, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 73, column: 28, position: 3831, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 73, column: 11, position: 3814, }, "Foo", ), Intersection( [ Named( Span { line: 73, column: 16, position: 3819, }, "Bar", ), Named( Span { line: 73, column: 20, position: 3823, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 73, column: 25, position: 3828, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 73, column: 30, position: 3833, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 73, column: 31, position: 3834, }, data_type: Named( Span { line: 73, column: 33, position: 3836, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 73, column: 37, position: 3840, }, statements: [ Return( ReturnStatement { return: Span { line: 73, column: 39, position: 3842, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 73, column: 46, position: 3849, }, value: "Bar", }, ), ), double_colon: Span { line: 73, column: 49, position: 3852, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 73, column: 51, position: 3854, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 73, column: 55, position: 3858, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 73, column: 56, position: 3859, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 73, column: 58, position: 3861, }, }, }, ), ), ending: Semicolon( Span { line: 73, column: 59, position: 3862, }, ), }, ), ], right_brace: Span { line: 73, column: 61, position: 3864, }, }, }, ), ending: Semicolon( Span { line: 73, column: 62, position: 3865, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 74, column: 1, position: 3867, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 74, column: 10, position: 3876, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 74, column: 26, position: 3892, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 74, column: 11, position: 3877, }, "Foo", ), Intersection( [ Named( Span { line: 74, column: 16, position: 3882, }, "Bar", ), Named( Span { line: 74, column: 20, position: 3886, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 74, column: 26, position: 3892, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 74, column: 28, position: 3894, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 74, column: 29, position: 3895, }, data_type: Named( Span { line: 74, column: 31, position: 3897, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 74, column: 35, position: 3901, }, statements: [ Return( ReturnStatement { return: Span { line: 74, column: 37, position: 3903, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 74, column: 44, position: 3910, }, value: "Bar", }, ), ), double_colon: Span { line: 74, column: 47, position: 3913, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 74, column: 49, position: 3915, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 74, column: 53, position: 3919, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 74, column: 54, position: 3920, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 74, column: 56, position: 3922, }, }, }, ), ), ending: Semicolon( Span { line: 74, column: 57, position: 3923, }, ), }, ), ], right_brace: Span { line: 74, column: 59, position: 3925, }, }, }, ), ending: Semicolon( Span { line: 74, column: 60, position: 3926, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 75, column: 1, position: 3928, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 75, column: 10, position: 3937, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 75, column: 25, position: 3952, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 75, column: 11, position: 3938, }, "Foo", ), Intersection( [ Named( Span { line: 75, column: 16, position: 3943, }, "Bar", ), Named( Span { line: 75, column: 20, position: 3947, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 75, column: 27, position: 3954, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 75, column: 28, position: 3955, }, data_type: Named( Span { line: 75, column: 30, position: 3957, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 75, column: 34, position: 3961, }, statements: [ Return( ReturnStatement { return: Span { line: 75, column: 36, position: 3963, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 75, column: 43, position: 3970, }, value: "Bar", }, ), ), double_colon: Span { line: 75, column: 46, position: 3973, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 75, column: 48, position: 3975, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 75, column: 52, position: 3979, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 75, column: 53, position: 3980, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 75, column: 55, position: 3982, }, }, }, ), ), ending: Semicolon( Span { line: 75, column: 56, position: 3983, }, ), }, ), ], right_brace: Span { line: 75, column: 58, position: 3985, }, }, }, ), ending: Semicolon( Span { line: 75, column: 59, position: 3986, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 76, column: 1, position: 3988, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 76, column: 4, position: 3991, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 76, column: 23, position: 4010, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 76, column: 5, position: 3992, }, "Foo", ), Union( [ Named( Span { line: 76, column: 10, position: 3997, }, "Bar", ), Named( Span { line: 76, column: 14, position: 4001, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 76, column: 20, position: 4007, }, ), default: None, ampersand: Some( Span { line: 76, column: 20, position: 4007, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 76, column: 25, position: 4012, }, }, return_type: Some( ReturnType { colon: Span { line: 76, column: 26, position: 4013, }, data_type: Named( Span { line: 76, column: 28, position: 4015, }, "Bar", ), }, ), double_arrow: Span { line: 76, column: 32, position: 4019, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 76, column: 35, position: 4022, }, value: "Bar", }, ), ), double_colon: Span { line: 76, column: 38, position: 4025, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 76, column: 40, position: 4027, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 76, column: 44, position: 4031, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 76, column: 45, position: 4032, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 76, column: 47, position: 4034, }, }, }, ), }, ), ending: Semicolon( Span { line: 76, column: 48, position: 4035, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 77, column: 1, position: 4037, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 77, column: 4, position: 4040, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 77, column: 22, position: 4058, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 77, column: 5, position: 4041, }, "Foo", ), Union( [ Named( Span { line: 77, column: 10, position: 4046, }, "Bar", ), Named( Span { line: 77, column: 14, position: 4050, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 77, column: 19, position: 4055, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 77, column: 24, position: 4060, }, }, return_type: Some( ReturnType { colon: Span { line: 77, column: 25, position: 4061, }, data_type: Named( Span { line: 77, column: 27, position: 4063, }, "Bar", ), }, ), double_arrow: Span { line: 77, column: 31, position: 4067, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 77, column: 34, position: 4070, }, value: "Bar", }, ), ), double_colon: Span { line: 77, column: 37, position: 4073, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 77, column: 39, position: 4075, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 77, column: 43, position: 4079, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 77, column: 44, position: 4080, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 77, column: 46, position: 4082, }, }, }, ), }, ), ending: Semicolon( Span { line: 77, column: 47, position: 4083, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 78, column: 1, position: 4085, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 78, column: 4, position: 4088, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 78, column: 20, position: 4104, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 78, column: 5, position: 4089, }, "Foo", ), Union( [ Named( Span { line: 78, column: 10, position: 4094, }, "Bar", ), Named( Span { line: 78, column: 14, position: 4098, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 78, column: 20, position: 4104, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 78, column: 22, position: 4106, }, }, return_type: Some( ReturnType { colon: Span { line: 78, column: 23, position: 4107, }, data_type: Named( Span { line: 78, column: 25, position: 4109, }, "Bar", ), }, ), double_arrow: Span { line: 78, column: 29, position: 4113, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 78, column: 32, position: 4116, }, value: "Bar", }, ), ), double_colon: Span { line: 78, column: 35, position: 4119, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 78, column: 37, position: 4121, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 78, column: 41, position: 4125, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 78, column: 42, position: 4126, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 78, column: 44, position: 4128, }, }, }, ), }, ), ending: Semicolon( Span { line: 78, column: 45, position: 4129, }, ), }, ), Expression( ExpressionStatement { expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, static: None, ampersand: None, fn: Span { line: 79, column: 1, position: 4131, }, attributes: [], parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 79, column: 4, position: 4134, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 79, column: 19, position: 4149, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 79, column: 5, position: 4135, }, "Foo", ), Union( [ Named( Span { line: 79, column: 10, position: 4140, }, "Bar", ), Named( Span { line: 79, column: 14, position: 4144, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 79, column: 21, position: 4151, }, }, return_type: Some( ReturnType { colon: Span { line: 79, column: 22, position: 4152, }, data_type: Named( Span { line: 79, column: 24, position: 4154, }, "Bar", ), }, ), double_arrow: Span { line: 79, column: 28, position: 4158, }, body: StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 79, column: 31, position: 4161, }, value: "Bar", }, ), ), double_colon: Span { line: 79, column: 34, position: 4164, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 79, column: 36, position: 4166, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 79, column: 40, position: 4170, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 79, column: 41, position: 4171, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 79, column: 43, position: 4173, }, }, }, ), }, ), ending: Semicolon( Span { line: 79, column: 44, position: 4174, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 80, column: 1, position: 4176, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 80, column: 10, position: 4185, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 80, column: 29, position: 4204, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 80, column: 11, position: 4186, }, "Foo", ), Union( [ Named( Span { line: 80, column: 16, position: 4191, }, "Bar", ), Named( Span { line: 80, column: 20, position: 4195, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 80, column: 26, position: 4201, }, ), default: None, ampersand: Some( Span { line: 80, column: 26, position: 4201, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 80, column: 31, position: 4206, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 80, column: 32, position: 4207, }, data_type: Named( Span { line: 80, column: 34, position: 4209, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 80, column: 38, position: 4213, }, statements: [ Return( ReturnStatement { return: Span { line: 80, column: 40, position: 4215, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 80, column: 47, position: 4222, }, value: "Bar", }, ), ), double_colon: Span { line: 80, column: 50, position: 4225, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 80, column: 52, position: 4227, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 80, column: 56, position: 4231, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 80, column: 57, position: 4232, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 80, column: 59, position: 4234, }, }, }, ), ), ending: Semicolon( Span { line: 80, column: 60, position: 4235, }, ), }, ), ], right_brace: Span { line: 80, column: 62, position: 4237, }, }, }, ), ending: Semicolon( Span { line: 80, column: 63, position: 4238, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 81, column: 1, position: 4240, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 81, column: 10, position: 4249, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 81, column: 28, position: 4267, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 81, column: 11, position: 4250, }, "Foo", ), Union( [ Named( Span { line: 81, column: 16, position: 4255, }, "Bar", ), Named( Span { line: 81, column: 20, position: 4259, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 81, column: 25, position: 4264, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 81, column: 30, position: 4269, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 81, column: 31, position: 4270, }, data_type: Named( Span { line: 81, column: 33, position: 4272, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 81, column: 37, position: 4276, }, statements: [ Return( ReturnStatement { return: Span { line: 81, column: 39, position: 4278, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 81, column: 46, position: 4285, }, value: "Bar", }, ), ), double_colon: Span { line: 81, column: 49, position: 4288, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 81, column: 51, position: 4290, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 81, column: 55, position: 4294, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 81, column: 56, position: 4295, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 81, column: 58, position: 4297, }, }, }, ), ), ending: Semicolon( Span { line: 81, column: 59, position: 4298, }, ), }, ), ], right_brace: Span { line: 81, column: 61, position: 4300, }, }, }, ), ending: Semicolon( Span { line: 81, column: 62, position: 4301, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 82, column: 1, position: 4303, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 82, column: 10, position: 4312, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 82, column: 26, position: 4328, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 82, column: 11, position: 4313, }, "Foo", ), Union( [ Named( Span { line: 82, column: 16, position: 4318, }, "Bar", ), Named( Span { line: 82, column: 20, position: 4322, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 82, column: 26, position: 4328, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 82, column: 28, position: 4330, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 82, column: 29, position: 4331, }, data_type: Named( Span { line: 82, column: 31, position: 4333, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 82, column: 35, position: 4337, }, statements: [ Return( ReturnStatement { return: Span { line: 82, column: 37, position: 4339, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 82, column: 44, position: 4346, }, value: "Bar", }, ), ), double_colon: Span { line: 82, column: 47, position: 4349, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 82, column: 49, position: 4351, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 82, column: 53, position: 4355, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 82, column: 54, position: 4356, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 82, column: 56, position: 4358, }, }, }, ), ), ending: Semicolon( Span { line: 82, column: 57, position: 4359, }, ), }, ), ], right_brace: Span { line: 82, column: 59, position: 4361, }, }, }, ), ending: Semicolon( Span { line: 82, column: 60, position: 4362, }, ), }, ), Expression( ExpressionStatement { expression: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 83, column: 1, position: 4364, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 83, column: 10, position: 4373, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 83, column: 25, position: 4388, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 83, column: 11, position: 4374, }, "Foo", ), Union( [ Named( Span { line: 83, column: 16, position: 4379, }, "Bar", ), Named( Span { line: 83, column: 20, position: 4383, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 83, column: 27, position: 4390, }, }, uses: None, return_type: Some( ReturnType { colon: Span { line: 83, column: 28, position: 4391, }, data_type: Named( Span { line: 83, column: 30, position: 4393, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 83, column: 34, position: 4397, }, statements: [ Return( ReturnStatement { return: Span { line: 83, column: 36, position: 4399, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 83, column: 43, position: 4406, }, value: "Bar", }, ), ), double_colon: Span { line: 83, column: 46, position: 4409, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 83, column: 48, position: 4411, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 83, column: 52, position: 4415, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 83, column: 53, position: 4416, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 83, column: 55, position: 4418, }, }, }, ), ), ending: Semicolon( Span { line: 83, column: 56, position: 4419, }, ), }, ), ], right_brace: Span { line: 83, column: 58, position: 4421, }, }, }, ), ending: Semicolon( Span { line: 83, column: 59, position: 4422, }, ), }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 85, column: 1, position: 4425, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 85, column: 10, position: 4434, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 85, column: 13, position: 4437, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 85, column: 22, position: 4446, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 85, column: 14, position: 4438, }, "Foo", ), ), ellipsis: Some( Span { line: 85, column: 19, position: 4443, }, ), default: None, ampersand: Some( Span { line: 85, column: 19, position: 4443, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 85, column: 24, position: 4448, }, }, return_type: Some( ReturnType { colon: Span { line: 85, column: 25, position: 4449, }, data_type: Named( Span { line: 85, column: 27, position: 4451, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 85, column: 31, position: 4455, }, statements: [ Return( ReturnStatement { return: Span { line: 85, column: 33, position: 4457, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 85, column: 40, position: 4464, }, value: "Bar", }, ), ), double_colon: Span { line: 85, column: 43, position: 4467, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 85, column: 45, position: 4469, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 85, column: 49, position: 4473, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 85, column: 50, position: 4474, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 85, column: 52, position: 4476, }, }, }, ), ), ending: Semicolon( Span { line: 85, column: 53, position: 4477, }, ), }, ), ], right_brace: Span { line: 85, column: 55, position: 4479, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 86, column: 1, position: 4481, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 86, column: 10, position: 4490, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 86, column: 13, position: 4493, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 86, column: 21, position: 4501, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 86, column: 14, position: 4494, }, "Foo", ), ), ellipsis: Some( Span { line: 86, column: 18, position: 4498, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 86, column: 23, position: 4503, }, }, return_type: Some( ReturnType { colon: Span { line: 86, column: 24, position: 4504, }, data_type: Named( Span { line: 86, column: 26, position: 4506, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 86, column: 30, position: 4510, }, statements: [ Return( ReturnStatement { return: Span { line: 86, column: 32, position: 4512, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 86, column: 39, position: 4519, }, value: "Bar", }, ), ), double_colon: Span { line: 86, column: 42, position: 4522, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 86, column: 44, position: 4524, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 86, column: 48, position: 4528, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 86, column: 49, position: 4529, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 86, column: 51, position: 4531, }, }, }, ), ), ending: Semicolon( Span { line: 86, column: 52, position: 4532, }, ), }, ), ], right_brace: Span { line: 86, column: 54, position: 4534, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 87, column: 1, position: 4536, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 87, column: 10, position: 4545, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 87, column: 13, position: 4548, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 87, column: 19, position: 4554, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 87, column: 14, position: 4549, }, "Foo", ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 87, column: 19, position: 4554, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 87, column: 21, position: 4556, }, }, return_type: Some( ReturnType { colon: Span { line: 87, column: 22, position: 4557, }, data_type: Named( Span { line: 87, column: 24, position: 4559, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 87, column: 28, position: 4563, }, statements: [ Return( ReturnStatement { return: Span { line: 87, column: 30, position: 4565, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 87, column: 37, position: 4572, }, value: "Bar", }, ), ), double_colon: Span { line: 87, column: 40, position: 4575, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 87, column: 42, position: 4577, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 87, column: 46, position: 4581, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 87, column: 47, position: 4582, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 87, column: 49, position: 4584, }, }, }, ), ), ending: Semicolon( Span { line: 87, column: 50, position: 4585, }, ), }, ), ], right_brace: Span { line: 87, column: 52, position: 4587, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 88, column: 1, position: 4589, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 88, column: 10, position: 4598, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 88, column: 13, position: 4601, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 88, column: 18, position: 4606, }, name: "$s", }, attributes: [], data_type: Some( Named( Span { line: 88, column: 14, position: 4602, }, "Foo", ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 88, column: 20, position: 4608, }, }, return_type: Some( ReturnType { colon: Span { line: 88, column: 21, position: 4609, }, data_type: Named( Span { line: 88, column: 23, position: 4611, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 88, column: 27, position: 4615, }, statements: [ Return( ReturnStatement { return: Span { line: 88, column: 29, position: 4617, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 88, column: 36, position: 4624, }, value: "Bar", }, ), ), double_colon: Span { line: 88, column: 39, position: 4627, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 88, column: 41, position: 4629, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 88, column: 45, position: 4633, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 88, column: 46, position: 4634, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 88, column: 48, position: 4636, }, }, }, ), ), ending: Semicolon( Span { line: 88, column: 49, position: 4637, }, ), }, ), ], right_brace: Span { line: 88, column: 51, position: 4639, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 89, column: 1, position: 4641, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 89, column: 10, position: 4650, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 89, column: 13, position: 4653, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 89, column: 30, position: 4670, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 89, column: 14, position: 4654, }, "Foo", ), Named( Span { line: 89, column: 18, position: 4658, }, "Bar", ), Named( Span { line: 89, column: 22, position: 4662, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 89, column: 27, position: 4667, }, ), default: None, ampersand: Some( Span { line: 89, column: 27, position: 4667, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 89, column: 32, position: 4672, }, }, return_type: Some( ReturnType { colon: Span { line: 89, column: 33, position: 4673, }, data_type: Named( Span { line: 89, column: 35, position: 4675, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 89, column: 39, position: 4679, }, statements: [ Return( ReturnStatement { return: Span { line: 89, column: 41, position: 4681, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 89, column: 48, position: 4688, }, value: "Bar", }, ), ), double_colon: Span { line: 89, column: 51, position: 4691, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 89, column: 53, position: 4693, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 89, column: 57, position: 4697, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 89, column: 58, position: 4698, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 89, column: 60, position: 4700, }, }, }, ), ), ending: Semicolon( Span { line: 89, column: 61, position: 4701, }, ), }, ), ], right_brace: Span { line: 89, column: 63, position: 4703, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 90, column: 1, position: 4705, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 90, column: 10, position: 4714, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 90, column: 13, position: 4717, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 90, column: 29, position: 4733, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 90, column: 14, position: 4718, }, "Foo", ), Named( Span { line: 90, column: 18, position: 4722, }, "Bar", ), Named( Span { line: 90, column: 22, position: 4726, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 90, column: 26, position: 4730, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 90, column: 31, position: 4735, }, }, return_type: Some( ReturnType { colon: Span { line: 90, column: 32, position: 4736, }, data_type: Named( Span { line: 90, column: 34, position: 4738, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 90, column: 38, position: 4742, }, statements: [ Return( ReturnStatement { return: Span { line: 90, column: 40, position: 4744, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 90, column: 47, position: 4751, }, value: "Bar", }, ), ), double_colon: Span { line: 90, column: 50, position: 4754, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 90, column: 52, position: 4756, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 90, column: 56, position: 4760, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 90, column: 57, position: 4761, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 90, column: 59, position: 4763, }, }, }, ), ), ending: Semicolon( Span { line: 90, column: 60, position: 4764, }, ), }, ), ], right_brace: Span { line: 90, column: 62, position: 4766, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 91, column: 1, position: 4768, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 91, column: 10, position: 4777, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 91, column: 13, position: 4780, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 91, column: 27, position: 4794, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 91, column: 14, position: 4781, }, "Foo", ), Named( Span { line: 91, column: 18, position: 4785, }, "Bar", ), Named( Span { line: 91, column: 22, position: 4789, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 91, column: 27, position: 4794, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 91, column: 29, position: 4796, }, }, return_type: Some( ReturnType { colon: Span { line: 91, column: 30, position: 4797, }, data_type: Named( Span { line: 91, column: 32, position: 4799, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 91, column: 36, position: 4803, }, statements: [ Return( ReturnStatement { return: Span { line: 91, column: 38, position: 4805, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 91, column: 45, position: 4812, }, value: "Bar", }, ), ), double_colon: Span { line: 91, column: 48, position: 4815, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 91, column: 50, position: 4817, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 91, column: 54, position: 4821, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 91, column: 55, position: 4822, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 91, column: 57, position: 4824, }, }, }, ), ), ending: Semicolon( Span { line: 91, column: 58, position: 4825, }, ), }, ), ], right_brace: Span { line: 91, column: 60, position: 4827, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 92, column: 1, position: 4829, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 92, column: 10, position: 4838, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 92, column: 13, position: 4841, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 92, column: 26, position: 4854, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 92, column: 14, position: 4842, }, "Foo", ), Named( Span { line: 92, column: 18, position: 4846, }, "Bar", ), Named( Span { line: 92, column: 22, position: 4850, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 92, column: 28, position: 4856, }, }, return_type: Some( ReturnType { colon: Span { line: 92, column: 29, position: 4857, }, data_type: Named( Span { line: 92, column: 31, position: 4859, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 92, column: 35, position: 4863, }, statements: [ Return( ReturnStatement { return: Span { line: 92, column: 37, position: 4865, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 92, column: 44, position: 4872, }, value: "Bar", }, ), ), double_colon: Span { line: 92, column: 47, position: 4875, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 92, column: 49, position: 4877, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 92, column: 53, position: 4881, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 92, column: 54, position: 4882, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 92, column: 56, position: 4884, }, }, }, ), ), ending: Semicolon( Span { line: 92, column: 57, position: 4885, }, ), }, ), ], right_brace: Span { line: 92, column: 59, position: 4887, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 93, column: 1, position: 4889, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 93, column: 10, position: 4898, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 93, column: 13, position: 4901, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 93, column: 30, position: 4918, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 93, column: 14, position: 4902, }, "Foo", ), Named( Span { line: 93, column: 18, position: 4906, }, "Bar", ), Named( Span { line: 93, column: 22, position: 4910, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 93, column: 27, position: 4915, }, ), default: None, ampersand: Some( Span { line: 93, column: 27, position: 4915, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 93, column: 32, position: 4920, }, }, return_type: Some( ReturnType { colon: Span { line: 93, column: 33, position: 4921, }, data_type: Named( Span { line: 93, column: 35, position: 4923, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 93, column: 39, position: 4927, }, statements: [ Return( ReturnStatement { return: Span { line: 93, column: 41, position: 4929, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 93, column: 48, position: 4936, }, value: "Bar", }, ), ), double_colon: Span { line: 93, column: 51, position: 4939, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 93, column: 53, position: 4941, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 93, column: 57, position: 4945, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 93, column: 58, position: 4946, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 93, column: 60, position: 4948, }, }, }, ), ), ending: Semicolon( Span { line: 93, column: 61, position: 4949, }, ), }, ), ], right_brace: Span { line: 93, column: 63, position: 4951, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 94, column: 1, position: 4953, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 94, column: 10, position: 4962, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 94, column: 13, position: 4965, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 94, column: 29, position: 4981, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 94, column: 14, position: 4966, }, "Foo", ), Named( Span { line: 94, column: 18, position: 4970, }, "Bar", ), Named( Span { line: 94, column: 22, position: 4974, }, "Baz", ), ], ), ), ellipsis: Some( Span { line: 94, column: 26, position: 4978, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 94, column: 31, position: 4983, }, }, return_type: Some( ReturnType { colon: Span { line: 94, column: 32, position: 4984, }, data_type: Named( Span { line: 94, column: 34, position: 4986, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 94, column: 38, position: 4990, }, statements: [ Return( ReturnStatement { return: Span { line: 94, column: 40, position: 4992, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 94, column: 47, position: 4999, }, value: "Bar", }, ), ), double_colon: Span { line: 94, column: 50, position: 5002, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 94, column: 52, position: 5004, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 94, column: 56, position: 5008, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 94, column: 57, position: 5009, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 94, column: 59, position: 5011, }, }, }, ), ), ending: Semicolon( Span { line: 94, column: 60, position: 5012, }, ), }, ), ], right_brace: Span { line: 94, column: 62, position: 5014, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 95, column: 1, position: 5016, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 95, column: 10, position: 5025, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 95, column: 13, position: 5028, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 95, column: 27, position: 5042, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 95, column: 14, position: 5029, }, "Foo", ), Named( Span { line: 95, column: 18, position: 5033, }, "Bar", ), Named( Span { line: 95, column: 22, position: 5037, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 95, column: 27, position: 5042, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 95, column: 29, position: 5044, }, }, return_type: Some( ReturnType { colon: Span { line: 95, column: 30, position: 5045, }, data_type: Named( Span { line: 95, column: 32, position: 5047, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 95, column: 36, position: 5051, }, statements: [ Return( ReturnStatement { return: Span { line: 95, column: 38, position: 5053, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 95, column: 45, position: 5060, }, value: "Bar", }, ), ), double_colon: Span { line: 95, column: 48, position: 5063, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 95, column: 50, position: 5065, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 95, column: 54, position: 5069, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 95, column: 55, position: 5070, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 95, column: 57, position: 5072, }, }, }, ), ), ending: Semicolon( Span { line: 95, column: 58, position: 5073, }, ), }, ), ], right_brace: Span { line: 95, column: 60, position: 5075, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 96, column: 1, position: 5077, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 96, column: 10, position: 5086, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 96, column: 13, position: 5089, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 96, column: 26, position: 5102, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 96, column: 14, position: 5090, }, "Foo", ), Named( Span { line: 96, column: 18, position: 5094, }, "Bar", ), Named( Span { line: 96, column: 22, position: 5098, }, "Baz", ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 96, column: 28, position: 5104, }, }, return_type: Some( ReturnType { colon: Span { line: 96, column: 29, position: 5105, }, data_type: Named( Span { line: 96, column: 31, position: 5107, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 96, column: 35, position: 5111, }, statements: [ Return( ReturnStatement { return: Span { line: 96, column: 37, position: 5113, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 96, column: 44, position: 5120, }, value: "Bar", }, ), ), double_colon: Span { line: 96, column: 47, position: 5123, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 96, column: 49, position: 5125, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 96, column: 53, position: 5129, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 96, column: 54, position: 5130, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 96, column: 56, position: 5132, }, }, }, ), ), ending: Semicolon( Span { line: 96, column: 57, position: 5133, }, ), }, ), ], right_brace: Span { line: 96, column: 59, position: 5135, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 97, column: 1, position: 5137, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 97, column: 10, position: 5146, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 97, column: 13, position: 5149, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 97, column: 32, position: 5168, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 97, column: 14, position: 5150, }, "Foo", ), Intersection( [ Named( Span { line: 97, column: 19, position: 5155, }, "Bar", ), Named( Span { line: 97, column: 23, position: 5159, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 97, column: 29, position: 5165, }, ), default: None, ampersand: Some( Span { line: 97, column: 29, position: 5165, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 97, column: 34, position: 5170, }, }, return_type: Some( ReturnType { colon: Span { line: 97, column: 35, position: 5171, }, data_type: Named( Span { line: 97, column: 37, position: 5173, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 97, column: 41, position: 5177, }, statements: [ Return( ReturnStatement { return: Span { line: 97, column: 43, position: 5179, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 97, column: 50, position: 5186, }, value: "Bar", }, ), ), double_colon: Span { line: 97, column: 53, position: 5189, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 97, column: 55, position: 5191, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 97, column: 59, position: 5195, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 97, column: 60, position: 5196, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 97, column: 62, position: 5198, }, }, }, ), ), ending: Semicolon( Span { line: 97, column: 63, position: 5199, }, ), }, ), ], right_brace: Span { line: 97, column: 65, position: 5201, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 98, column: 1, position: 5203, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 98, column: 10, position: 5212, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 98, column: 13, position: 5215, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 98, column: 31, position: 5233, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 98, column: 14, position: 5216, }, "Foo", ), Intersection( [ Named( Span { line: 98, column: 19, position: 5221, }, "Bar", ), Named( Span { line: 98, column: 23, position: 5225, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 98, column: 28, position: 5230, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 98, column: 33, position: 5235, }, }, return_type: Some( ReturnType { colon: Span { line: 98, column: 34, position: 5236, }, data_type: Named( Span { line: 98, column: 36, position: 5238, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 98, column: 40, position: 5242, }, statements: [ Return( ReturnStatement { return: Span { line: 98, column: 42, position: 5244, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 98, column: 49, position: 5251, }, value: "Bar", }, ), ), double_colon: Span { line: 98, column: 52, position: 5254, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 98, column: 54, position: 5256, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 98, column: 58, position: 5260, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 98, column: 59, position: 5261, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 98, column: 61, position: 5263, }, }, }, ), ), ending: Semicolon( Span { line: 98, column: 62, position: 5264, }, ), }, ), ], right_brace: Span { line: 98, column: 64, position: 5266, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 99, column: 1, position: 5268, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 99, column: 10, position: 5277, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 99, column: 13, position: 5280, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 99, column: 29, position: 5296, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 99, column: 14, position: 5281, }, "Foo", ), Intersection( [ Named( Span { line: 99, column: 19, position: 5286, }, "Bar", ), Named( Span { line: 99, column: 23, position: 5290, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 99, column: 29, position: 5296, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 99, column: 31, position: 5298, }, }, return_type: Some( ReturnType { colon: Span { line: 99, column: 32, position: 5299, }, data_type: Named( Span { line: 99, column: 34, position: 5301, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 99, column: 38, position: 5305, }, statements: [ Return( ReturnStatement { return: Span { line: 99, column: 40, position: 5307, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 99, column: 47, position: 5314, }, value: "Bar", }, ), ), double_colon: Span { line: 99, column: 50, position: 5317, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 99, column: 52, position: 5319, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 99, column: 56, position: 5323, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 99, column: 57, position: 5324, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 99, column: 59, position: 5326, }, }, }, ), ), ending: Semicolon( Span { line: 99, column: 60, position: 5327, }, ), }, ), ], right_brace: Span { line: 99, column: 62, position: 5329, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 100, column: 1, position: 5331, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 100, column: 10, position: 5340, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 100, column: 13, position: 5343, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 100, column: 28, position: 5358, }, name: "$s", }, attributes: [], data_type: Some( Union( [ Named( Span { line: 100, column: 14, position: 5344, }, "Foo", ), Intersection( [ Named( Span { line: 100, column: 19, position: 5349, }, "Bar", ), Named( Span { line: 100, column: 23, position: 5353, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 100, column: 30, position: 5360, }, }, return_type: Some( ReturnType { colon: Span { line: 100, column: 31, position: 5361, }, data_type: Named( Span { line: 100, column: 33, position: 5363, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 100, column: 37, position: 5367, }, statements: [ Return( ReturnStatement { return: Span { line: 100, column: 39, position: 5369, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 100, column: 46, position: 5376, }, value: "Bar", }, ), ), double_colon: Span { line: 100, column: 49, position: 5379, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 100, column: 51, position: 5381, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 100, column: 55, position: 5385, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 100, column: 56, position: 5386, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 100, column: 58, position: 5388, }, }, }, ), ), ending: Semicolon( Span { line: 100, column: 59, position: 5389, }, ), }, ), ], right_brace: Span { line: 100, column: 61, position: 5391, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 101, column: 1, position: 5393, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 101, column: 10, position: 5402, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 101, column: 13, position: 5405, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 101, column: 32, position: 5424, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 101, column: 14, position: 5406, }, "Foo", ), Union( [ Named( Span { line: 101, column: 19, position: 5411, }, "Bar", ), Named( Span { line: 101, column: 23, position: 5415, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 101, column: 29, position: 5421, }, ), default: None, ampersand: Some( Span { line: 101, column: 29, position: 5421, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 101, column: 34, position: 5426, }, }, return_type: Some( ReturnType { colon: Span { line: 101, column: 35, position: 5427, }, data_type: Named( Span { line: 101, column: 37, position: 5429, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 101, column: 41, position: 5433, }, statements: [ Return( ReturnStatement { return: Span { line: 101, column: 43, position: 5435, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 101, column: 50, position: 5442, }, value: "Bar", }, ), ), double_colon: Span { line: 101, column: 53, position: 5445, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 101, column: 55, position: 5447, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 101, column: 59, position: 5451, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 101, column: 60, position: 5452, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 101, column: 62, position: 5454, }, }, }, ), ), ending: Semicolon( Span { line: 101, column: 63, position: 5455, }, ), }, ), ], right_brace: Span { line: 101, column: 65, position: 5457, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 102, column: 1, position: 5459, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 102, column: 10, position: 5468, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 102, column: 13, position: 5471, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 102, column: 31, position: 5489, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 102, column: 14, position: 5472, }, "Foo", ), Union( [ Named( Span { line: 102, column: 19, position: 5477, }, "Bar", ), Named( Span { line: 102, column: 23, position: 5481, }, "Baz", ), ], ), ], ), ), ellipsis: Some( Span { line: 102, column: 28, position: 5486, }, ), default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 102, column: 33, position: 5491, }, }, return_type: Some( ReturnType { colon: Span { line: 102, column: 34, position: 5492, }, data_type: Named( Span { line: 102, column: 36, position: 5494, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 102, column: 40, position: 5498, }, statements: [ Return( ReturnStatement { return: Span { line: 102, column: 42, position: 5500, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 102, column: 49, position: 5507, }, value: "Bar", }, ), ), double_colon: Span { line: 102, column: 52, position: 5510, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 102, column: 54, position: 5512, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 102, column: 58, position: 5516, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 102, column: 59, position: 5517, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 102, column: 61, position: 5519, }, }, }, ), ), ending: Semicolon( Span { line: 102, column: 62, position: 5520, }, ), }, ), ], right_brace: Span { line: 102, column: 64, position: 5522, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 103, column: 1, position: 5524, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 103, column: 10, position: 5533, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 103, column: 13, position: 5536, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 103, column: 29, position: 5552, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 103, column: 14, position: 5537, }, "Foo", ), Union( [ Named( Span { line: 103, column: 19, position: 5542, }, "Bar", ), Named( Span { line: 103, column: 23, position: 5546, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: Some( Span { line: 103, column: 29, position: 5552, }, ), }, ], commas: [], }, right_parenthesis: Span { line: 103, column: 31, position: 5554, }, }, return_type: Some( ReturnType { colon: Span { line: 103, column: 32, position: 5555, }, data_type: Named( Span { line: 103, column: 34, position: 5557, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 103, column: 38, position: 5561, }, statements: [ Return( ReturnStatement { return: Span { line: 103, column: 40, position: 5563, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 103, column: 47, position: 5570, }, value: "Bar", }, ), ), double_colon: Span { line: 103, column: 50, position: 5573, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 103, column: 52, position: 5575, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 103, column: 56, position: 5579, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 103, column: 57, position: 5580, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 103, column: 59, position: 5582, }, }, }, ), ), ending: Semicolon( Span { line: 103, column: 60, position: 5583, }, ), }, ), ], right_brace: Span { line: 103, column: 62, position: 5585, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 104, column: 1, position: 5587, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 104, column: 10, position: 5596, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 104, column: 13, position: 5599, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 104, column: 28, position: 5614, }, name: "$s", }, attributes: [], data_type: Some( Intersection( [ Named( Span { line: 104, column: 14, position: 5600, }, "Foo", ), Union( [ Named( Span { line: 104, column: 19, position: 5605, }, "Bar", ), Named( Span { line: 104, column: 23, position: 5609, }, "Baz", ), ], ), ], ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 104, column: 30, position: 5616, }, }, return_type: Some( ReturnType { colon: Span { line: 104, column: 31, position: 5617, }, data_type: Named( Span { line: 104, column: 33, position: 5619, }, "Bar", ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 104, column: 37, position: 5623, }, statements: [ Return( ReturnStatement { return: Span { line: 104, column: 39, position: 5625, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 104, column: 46, position: 5632, }, value: "Bar", }, ), ), double_colon: Span { line: 104, column: 49, position: 5635, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 104, column: 51, position: 5637, }, value: "from", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 104, column: 55, position: 5641, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Variable( SimpleVariable( SimpleVariable { span: Span { line: 104, column: 56, position: 5642, }, name: "$s", }, ), ), }, ), ], right_parenthesis: Span { line: 104, column: 58, position: 5644, }, }, }, ), ), ending: Semicolon( Span { line: 104, column: 59, position: 5645, }, ), }, ), ], right_brace: Span { line: 104, column: 61, position: 5647, }, }, }, ), ]