[
    FullOpeningTag(
        Span {
            line: 1,
            column: 1,
            position: 0,
        },
    ),
    Expression(
        ExpressionStatement {
            expression: ArrowFunction(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                ArrowFunction {
                    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 {
                        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 {
                                    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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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(
                Closure {
                    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 {
                                            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 {
                                                        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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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 {
                                    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 {
                                                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,
                },
            },
        },
    ),
]
