DefinitionTree {
    definitions: [
        Interface(
            InterfaceDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                interface: Span {
                    line: 1,
                    column: 1,
                    position: 0,
                },
                name: Identifier {
                    span: Span {
                        line: 1,
                        column: 11,
                        position: 10,
                    },
                    value: "ObjectCollection",
                },
                templates: Some(
                    TemplateGroupDefinition {
                        comments: CommentGroup {
                            comments: [],
                        },
                        less_than: Span {
                            line: 1,
                            column: 27,
                            position: 26,
                        },
                        members: CommaSeparated {
                            inner: [
                                TemplateDefinition {
                                    variance: Covariance(
                                        Span {
                                            line: 1,
                                            column: 28,
                                            position: 27,
                                        },
                                    ),
                                    name: Identifier {
                                        span: Span {
                                            line: 1,
                                            column: 29,
                                            position: 28,
                                        },
                                        value: "T",
                                    },
                                    constraint: SubType(
                                        Span {
                                            line: 1,
                                            column: 31,
                                            position: 30,
                                        },
                                        Object(
                                            Span {
                                                line: 1,
                                                column: 34,
                                                position: 33,
                                            },
                                        ),
                                    ),
                                },
                            ],
                            commas: [],
                        },
                        greater_than: Span {
                            line: 1,
                            column: 40,
                            position: 39,
                        },
                    },
                ),
                extends: Some(
                    InterfaceDefinitionExtends {
                        extends: Span {
                            line: 1,
                            column: 42,
                            position: 41,
                        },
                        parents: CommaSeparated {
                            inner: [
                                TemplatedIdentifier {
                                    name: Identifier {
                                        span: Span {
                                            line: 1,
                                            column: 50,
                                            position: 49,
                                        },
                                        value: "IteratorAggregate",
                                    },
                                    templates: Some(
                                        TypeTemplateGroupDefinition {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            less_than: Span {
                                                line: 1,
                                                column: 67,
                                                position: 66,
                                            },
                                            members: CommaSeparated {
                                                inner: [
                                                    Integer(
                                                        Span {
                                                            line: 1,
                                                            column: 68,
                                                            position: 67,
                                                        },
                                                    ),
                                                    Identifier(
                                                        TemplatedIdentifier {
                                                            name: Identifier {
                                                                span: Span {
                                                                    line: 1,
                                                                    column: 73,
                                                                    position: 72,
                                                                },
                                                                value: "T",
                                                            },
                                                            templates: None,
                                                        },
                                                    ),
                                                ],
                                                commas: [
                                                    Span {
                                                        line: 1,
                                                        column: 71,
                                                        position: 70,
                                                    },
                                                ],
                                            },
                                            greater_than: Span {
                                                line: 1,
                                                column: 74,
                                                position: 73,
                                            },
                                        },
                                    ),
                                },
                            ],
                            commas: [],
                        },
                    },
                ),
                body: InterfaceDefinitionBody {
                    left_brace: Span {
                        line: 1,
                        column: 76,
                        position: 75,
                    },
                    members: [],
                    right_brace: Span {
                        line: 1,
                        column: 77,
                        position: 76,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 3,
                    column: 1,
                    position: 79,
                },
                name: Identifier {
                    span: Span {
                        line: 3,
                        column: 10,
                        position: 88,
                    },
                    value: "foo",
                },
                templates: None,
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 3,
                        column: 13,
                        position: 91,
                    },
                    parameters: CommaSeparated {
                        inner: [],
                        commas: [],
                    },
                    right_parenthesis: Span {
                        line: 3,
                        column: 14,
                        position: 92,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 3,
                        column: 15,
                        position: 93,
                    },
                    type_definition: Vec(
                        Span {
                            line: 3,
                            column: 17,
                            position: 95,
                        },
                        TypeTemplateGroupDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            less_than: Span {
                                line: 3,
                                column: 20,
                                position: 98,
                            },
                            members: CommaSeparated {
                                inner: [
                                    Integer(
                                        Span {
                                            line: 3,
                                            column: 21,
                                            position: 99,
                                        },
                                    ),
                                ],
                                commas: [],
                            },
                            greater_than: Span {
                                line: 3,
                                column: 24,
                                position: 102,
                            },
                        },
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 3,
                        column: 26,
                        position: 104,
                    },
                    statements: [
                        Return(
                            Explicit {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                return: Span {
                                    line: 4,
                                    column: 5,
                                    position: 110,
                                },
                                expression: Some(
                                    Vec(
                                        VecExpression {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            vec: Span {
                                                line: 4,
                                                column: 12,
                                                position: 117,
                                            },
                                            left_bracket: Span {
                                                line: 4,
                                                column: 15,
                                                position: 120,
                                            },
                                            members: CommaSeparated {
                                                inner: [
                                                    VecExpressionItem {
                                                        value: Literal(
                                                            Integer(
                                                                LiteralInteger {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "1",
                                                                    span: Span {
                                                                        line: 4,
                                                                        column: 16,
                                                                        position: 121,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                    VecExpressionItem {
                                                        value: Literal(
                                                            Integer(
                                                                LiteralInteger {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "2",
                                                                    span: Span {
                                                                        line: 4,
                                                                        column: 19,
                                                                        position: 124,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                    VecExpressionItem {
                                                        value: Literal(
                                                            Integer(
                                                                LiteralInteger {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "3",
                                                                    span: Span {
                                                                        line: 4,
                                                                        column: 22,
                                                                        position: 127,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                ],
                                                commas: [
                                                    Span {
                                                        line: 4,
                                                        column: 17,
                                                        position: 122,
                                                    },
                                                    Span {
                                                        line: 4,
                                                        column: 20,
                                                        position: 125,
                                                    },
                                                ],
                                            },
                                            right_bracket: Span {
                                                line: 4,
                                                column: 23,
                                                position: 128,
                                            },
                                        },
                                    ),
                                ),
                                semicolon: Span {
                                    line: 4,
                                    column: 24,
                                    position: 129,
                                },
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 5,
                        column: 1,
                        position: 131,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 7,
                    column: 1,
                    position: 134,
                },
                name: Identifier {
                    span: Span {
                        line: 7,
                        column: 10,
                        position: 143,
                    },
                    value: "bar",
                },
                templates: None,
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 7,
                        column: 13,
                        position: 146,
                    },
                    parameters: CommaSeparated {
                        inner: [],
                        commas: [],
                    },
                    right_parenthesis: Span {
                        line: 7,
                        column: 14,
                        position: 147,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 7,
                        column: 15,
                        position: 148,
                    },
                    type_definition: Dict(
                        Span {
                            line: 7,
                            column: 17,
                            position: 150,
                        },
                        TypeTemplateGroupDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            less_than: Span {
                                line: 7,
                                column: 21,
                                position: 154,
                            },
                            members: CommaSeparated {
                                inner: [
                                    String(
                                        Span {
                                            line: 7,
                                            column: 22,
                                            position: 155,
                                        },
                                    ),
                                    Integer(
                                        Span {
                                            line: 7,
                                            column: 30,
                                            position: 163,
                                        },
                                    ),
                                ],
                                commas: [
                                    Span {
                                        line: 7,
                                        column: 28,
                                        position: 161,
                                    },
                                ],
                            },
                            greater_than: Span {
                                line: 7,
                                column: 33,
                                position: 166,
                            },
                        },
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 7,
                        column: 35,
                        position: 168,
                    },
                    statements: [
                        Return(
                            Explicit {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                return: Span {
                                    line: 8,
                                    column: 5,
                                    position: 174,
                                },
                                expression: Some(
                                    Dict(
                                        DictExpression {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            dict: Span {
                                                line: 8,
                                                column: 12,
                                                position: 181,
                                            },
                                            left_bracket: Span {
                                                line: 8,
                                                column: 16,
                                                position: 185,
                                            },
                                            members: CommaSeparated {
                                                inner: [
                                                    DictExpressionItem {
                                                        key: Literal(
                                                            String(
                                                                LiteralString {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "'a'",
                                                                    span: Span {
                                                                        line: 8,
                                                                        column: 17,
                                                                        position: 186,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                        double_arrow: Span {
                                                            line: 8,
                                                            column: 21,
                                                            position: 190,
                                                        },
                                                        value: Literal(
                                                            Integer(
                                                                LiteralInteger {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "1",
                                                                    span: Span {
                                                                        line: 8,
                                                                        column: 24,
                                                                        position: 193,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                    DictExpressionItem {
                                                        key: Literal(
                                                            String(
                                                                LiteralString {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "'b'",
                                                                    span: Span {
                                                                        line: 8,
                                                                        column: 27,
                                                                        position: 196,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                        double_arrow: Span {
                                                            line: 8,
                                                            column: 31,
                                                            position: 200,
                                                        },
                                                        value: Literal(
                                                            Integer(
                                                                LiteralInteger {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "2",
                                                                    span: Span {
                                                                        line: 8,
                                                                        column: 34,
                                                                        position: 203,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                    DictExpressionItem {
                                                        key: Literal(
                                                            String(
                                                                LiteralString {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "'c'",
                                                                    span: Span {
                                                                        line: 8,
                                                                        column: 37,
                                                                        position: 206,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                        double_arrow: Span {
                                                            line: 8,
                                                            column: 41,
                                                            position: 210,
                                                        },
                                                        value: Literal(
                                                            Integer(
                                                                LiteralInteger {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    value: "3",
                                                                    span: Span {
                                                                        line: 8,
                                                                        column: 44,
                                                                        position: 213,
                                                                    },
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                ],
                                                commas: [
                                                    Span {
                                                        line: 8,
                                                        column: 25,
                                                        position: 194,
                                                    },
                                                    Span {
                                                        line: 8,
                                                        column: 35,
                                                        position: 204,
                                                    },
                                                ],
                                            },
                                            right_bracket: Span {
                                                line: 8,
                                                column: 45,
                                                position: 214,
                                            },
                                        },
                                    ),
                                ),
                                semicolon: Span {
                                    line: 8,
                                    column: 46,
                                    position: 215,
                                },
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 9,
                        column: 1,
                        position: 217,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 11,
                    column: 1,
                    position: 220,
                },
                name: Identifier {
                    span: Span {
                        line: 11,
                        column: 10,
                        position: 229,
                    },
                    value: "baz",
                },
                templates: None,
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 11,
                        column: 13,
                        position: 232,
                    },
                    parameters: CommaSeparated {
                        inner: [
                            FunctionLikeParameterDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [],
                                type_definition: Boolean(
                                    Span {
                                        line: 11,
                                        column: 14,
                                        position: 233,
                                    },
                                ),
                                ellipsis: None,
                                variable: Variable {
                                    span: Span {
                                        line: 11,
                                        column: 19,
                                        position: 238,
                                    },
                                    name: "$a",
                                },
                                default: None,
                            },
                        ],
                        commas: [],
                    },
                    right_parenthesis: Span {
                        line: 11,
                        column: 21,
                        position: 240,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 11,
                        column: 22,
                        position: 241,
                    },
                    type_definition: Iterable(
                        Span {
                            line: 11,
                            column: 24,
                            position: 243,
                        },
                        TypeTemplateGroupDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            less_than: Span {
                                line: 11,
                                column: 32,
                                position: 251,
                            },
                            members: CommaSeparated {
                                inner: [
                                    Integer(
                                        Span {
                                            line: 11,
                                            column: 33,
                                            position: 252,
                                        },
                                    ),
                                    Integer(
                                        Span {
                                            line: 11,
                                            column: 38,
                                            position: 257,
                                        },
                                    ),
                                ],
                                commas: [
                                    Span {
                                        line: 11,
                                        column: 36,
                                        position: 255,
                                    },
                                ],
                            },
                            greater_than: Span {
                                line: 11,
                                column: 41,
                                position: 260,
                            },
                        },
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 11,
                        column: 43,
                        position: 262,
                    },
                    statements: [
                        If(
                            IfStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                if: Span {
                                    line: 12,
                                    column: 5,
                                    position: 268,
                                },
                                condition: Variable(
                                    Variable {
                                        span: Span {
                                            line: 12,
                                            column: 8,
                                            position: 271,
                                        },
                                        name: "$a",
                                    },
                                ),
                                block: BlockStatement {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    left_brace: Span {
                                        line: 12,
                                        column: 11,
                                        position: 274,
                                    },
                                    statements: [
                                        Return(
                                            Explicit {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                return: Span {
                                                    line: 13,
                                                    column: 9,
                                                    position: 284,
                                                },
                                                expression: Some(
                                                    Vec(
                                                        VecExpression {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            vec: Span {
                                                                line: 13,
                                                                column: 16,
                                                                position: 291,
                                                            },
                                                            left_bracket: Span {
                                                                line: 13,
                                                                column: 19,
                                                                position: 294,
                                                            },
                                                            members: CommaSeparated {
                                                                inner: [
                                                                    VecExpressionItem {
                                                                        value: Literal(
                                                                            Integer(
                                                                                LiteralInteger {
                                                                                    comments: CommentGroup {
                                                                                        comments: [],
                                                                                    },
                                                                                    value: "1",
                                                                                    span: Span {
                                                                                        line: 13,
                                                                                        column: 20,
                                                                                        position: 295,
                                                                                    },
                                                                                },
                                                                            ),
                                                                        ),
                                                                    },
                                                                    VecExpressionItem {
                                                                        value: Literal(
                                                                            Integer(
                                                                                LiteralInteger {
                                                                                    comments: CommentGroup {
                                                                                        comments: [],
                                                                                    },
                                                                                    value: "2",
                                                                                    span: Span {
                                                                                        line: 13,
                                                                                        column: 23,
                                                                                        position: 298,
                                                                                    },
                                                                                },
                                                                            ),
                                                                        ),
                                                                    },
                                                                    VecExpressionItem {
                                                                        value: Literal(
                                                                            Integer(
                                                                                LiteralInteger {
                                                                                    comments: CommentGroup {
                                                                                        comments: [],
                                                                                    },
                                                                                    value: "3",
                                                                                    span: Span {
                                                                                        line: 13,
                                                                                        column: 26,
                                                                                        position: 301,
                                                                                    },
                                                                                },
                                                                            ),
                                                                        ),
                                                                    },
                                                                ],
                                                                commas: [
                                                                    Span {
                                                                        line: 13,
                                                                        column: 21,
                                                                        position: 296,
                                                                    },
                                                                    Span {
                                                                        line: 13,
                                                                        column: 24,
                                                                        position: 299,
                                                                    },
                                                                ],
                                                            },
                                                            right_bracket: Span {
                                                                line: 13,
                                                                column: 27,
                                                                position: 302,
                                                            },
                                                        },
                                                    ),
                                                ),
                                                semicolon: Span {
                                                    line: 13,
                                                    column: 28,
                                                    position: 303,
                                                },
                                            },
                                        ),
                                    ],
                                    right_brace: Span {
                                        line: 14,
                                        column: 5,
                                        position: 309,
                                    },
                                },
                                elseifs: [],
                                else: Some(
                                    IfStatementElse {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        else: Span {
                                            line: 14,
                                            column: 7,
                                            position: 311,
                                        },
                                        block: Block(
                                            BlockStatement {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_brace: Span {
                                                    line: 14,
                                                    column: 12,
                                                    position: 316,
                                                },
                                                statements: [
                                                    Return(
                                                        Explicit {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            return: Span {
                                                                line: 15,
                                                                column: 9,
                                                                position: 326,
                                                            },
                                                            expression: Some(
                                                                Dict(
                                                                    DictExpression {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        dict: Span {
                                                                            line: 15,
                                                                            column: 16,
                                                                            position: 333,
                                                                        },
                                                                        left_bracket: Span {
                                                                            line: 15,
                                                                            column: 20,
                                                                            position: 337,
                                                                        },
                                                                        members: CommaSeparated {
                                                                            inner: [
                                                                                DictExpressionItem {
                                                                                    key: Literal(
                                                                                        Integer(
                                                                                            LiteralInteger {
                                                                                                comments: CommentGroup {
                                                                                                    comments: [],
                                                                                                },
                                                                                                value: "1",
                                                                                                span: Span {
                                                                                                    line: 15,
                                                                                                    column: 21,
                                                                                                    position: 338,
                                                                                                },
                                                                                            },
                                                                                        ),
                                                                                    ),
                                                                                    double_arrow: Span {
                                                                                        line: 15,
                                                                                        column: 23,
                                                                                        position: 340,
                                                                                    },
                                                                                    value: Literal(
                                                                                        Integer(
                                                                                            LiteralInteger {
                                                                                                comments: CommentGroup {
                                                                                                    comments: [],
                                                                                                },
                                                                                                value: "1",
                                                                                                span: Span {
                                                                                                    line: 15,
                                                                                                    column: 26,
                                                                                                    position: 343,
                                                                                                },
                                                                                            },
                                                                                        ),
                                                                                    ),
                                                                                },
                                                                                DictExpressionItem {
                                                                                    key: Literal(
                                                                                        Integer(
                                                                                            LiteralInteger {
                                                                                                comments: CommentGroup {
                                                                                                    comments: [],
                                                                                                },
                                                                                                value: "2",
                                                                                                span: Span {
                                                                                                    line: 15,
                                                                                                    column: 29,
                                                                                                    position: 346,
                                                                                                },
                                                                                            },
                                                                                        ),
                                                                                    ),
                                                                                    double_arrow: Span {
                                                                                        line: 15,
                                                                                        column: 31,
                                                                                        position: 348,
                                                                                    },
                                                                                    value: Literal(
                                                                                        Integer(
                                                                                            LiteralInteger {
                                                                                                comments: CommentGroup {
                                                                                                    comments: [],
                                                                                                },
                                                                                                value: "2",
                                                                                                span: Span {
                                                                                                    line: 15,
                                                                                                    column: 34,
                                                                                                    position: 351,
                                                                                                },
                                                                                            },
                                                                                        ),
                                                                                    ),
                                                                                },
                                                                                DictExpressionItem {
                                                                                    key: Literal(
                                                                                        Integer(
                                                                                            LiteralInteger {
                                                                                                comments: CommentGroup {
                                                                                                    comments: [],
                                                                                                },
                                                                                                value: "3",
                                                                                                span: Span {
                                                                                                    line: 15,
                                                                                                    column: 37,
                                                                                                    position: 354,
                                                                                                },
                                                                                            },
                                                                                        ),
                                                                                    ),
                                                                                    double_arrow: Span {
                                                                                        line: 15,
                                                                                        column: 39,
                                                                                        position: 356,
                                                                                    },
                                                                                    value: Literal(
                                                                                        Integer(
                                                                                            LiteralInteger {
                                                                                                comments: CommentGroup {
                                                                                                    comments: [],
                                                                                                },
                                                                                                value: "3",
                                                                                                span: Span {
                                                                                                    line: 15,
                                                                                                    column: 42,
                                                                                                    position: 359,
                                                                                                },
                                                                                            },
                                                                                        ),
                                                                                    ),
                                                                                },
                                                                            ],
                                                                            commas: [
                                                                                Span {
                                                                                    line: 15,
                                                                                    column: 27,
                                                                                    position: 344,
                                                                                },
                                                                                Span {
                                                                                    line: 15,
                                                                                    column: 35,
                                                                                    position: 352,
                                                                                },
                                                                            ],
                                                                        },
                                                                        right_bracket: Span {
                                                                            line: 15,
                                                                            column: 43,
                                                                            position: 360,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                            semicolon: Span {
                                                                line: 15,
                                                                column: 44,
                                                                position: 361,
                                                            },
                                                        },
                                                    ),
                                                ],
                                                right_brace: Span {
                                                    line: 16,
                                                    column: 5,
                                                    position: 367,
                                                },
                                            },
                                        ),
                                    },
                                ),
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 17,
                        column: 1,
                        position: 369,
                    },
                },
            },
        ),
        Class(
            ClassDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                modifiers: ClassModifierDefinitionGroup {
                    modifiers: [
                        Final(
                            Span {
                                line: 19,
                                column: 1,
                                position: 372,
                            },
                        ),
                    ],
                },
                class: Span {
                    line: 19,
                    column: 7,
                    position: 378,
                },
                name: Identifier {
                    span: Span {
                        line: 19,
                        column: 13,
                        position: 384,
                    },
                    value: "Box",
                },
                templates: Some(
                    TemplateGroupDefinition {
                        comments: CommentGroup {
                            comments: [],
                        },
                        less_than: Span {
                            line: 19,
                            column: 16,
                            position: 387,
                        },
                        members: CommaSeparated {
                            inner: [
                                TemplateDefinition {
                                    variance: Invaraint,
                                    name: Identifier {
                                        span: Span {
                                            line: 19,
                                            column: 17,
                                            position: 388,
                                        },
                                        value: "T",
                                    },
                                    constraint: None,
                                },
                            ],
                            commas: [],
                        },
                        greater_than: Span {
                            line: 19,
                            column: 18,
                            position: 389,
                        },
                    },
                ),
                extends: None,
                implements: None,
                body: ClassDefinitionBody {
                    left_brace: Span {
                        line: 19,
                        column: 20,
                        position: 391,
                    },
                    members: [
                        ConcreteConstructor(
                            ConcreteConstructorDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [],
                                modifiers: MethodModifierDefinitionGroup {
                                    modifiers: [
                                        Public(
                                            Span {
                                                line: 20,
                                                column: 5,
                                                position: 397,
                                            },
                                        ),
                                    ],
                                },
                                function: Span {
                                    line: 20,
                                    column: 12,
                                    position: 404,
                                },
                                name: Identifier {
                                    span: Span {
                                        line: 20,
                                        column: 21,
                                        position: 413,
                                    },
                                    value: "__construct",
                                },
                                parameters: ConstructorParameterListDefinition {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    left_parenthesis: Span {
                                        line: 20,
                                        column: 32,
                                        position: 424,
                                    },
                                    parameters: CommaSeparated {
                                        inner: [
                                            ConstructorParameterDefinition {
                                                attributes: [],
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                modifiers: PromotedPropertyModifierDefinitionGroup {
                                                    modifiers: [
                                                        Public(
                                                            Span {
                                                                line: 20,
                                                                column: 33,
                                                                position: 425,
                                                            },
                                                        ),
                                                    ],
                                                },
                                                type_definition: Identifier(
                                                    TemplatedIdentifier {
                                                        name: Identifier {
                                                            span: Span {
                                                                line: 20,
                                                                column: 40,
                                                                position: 432,
                                                            },
                                                            value: "T",
                                                        },
                                                        templates: None,
                                                    },
                                                ),
                                                ellipsis: None,
                                                variable: Variable {
                                                    span: Span {
                                                        line: 20,
                                                        column: 42,
                                                        position: 434,
                                                    },
                                                    name: "$value",
                                                },
                                                default: None,
                                            },
                                        ],
                                        commas: [],
                                    },
                                    right_parenthesis: Span {
                                        line: 20,
                                        column: 48,
                                        position: 440,
                                    },
                                },
                                body: BlockStatement {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    left_brace: Span {
                                        line: 20,
                                        column: 50,
                                        position: 442,
                                    },
                                    statements: [],
                                    right_brace: Span {
                                        line: 20,
                                        column: 51,
                                        position: 443,
                                    },
                                },
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 21,
                        column: 1,
                        position: 445,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 23,
                    column: 1,
                    position: 448,
                },
                name: Identifier {
                    span: Span {
                        line: 23,
                        column: 10,
                        position: 457,
                    },
                    value: "box",
                },
                templates: None,
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 23,
                        column: 13,
                        position: 460,
                    },
                    parameters: CommaSeparated {
                        inner: [],
                        commas: [],
                    },
                    right_parenthesis: Span {
                        line: 23,
                        column: 14,
                        position: 461,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 23,
                        column: 15,
                        position: 462,
                    },
                    type_definition: Identifier(
                        TemplatedIdentifier {
                            name: Identifier {
                                span: Span {
                                    line: 23,
                                    column: 17,
                                    position: 464,
                                },
                                value: "Box",
                            },
                            templates: Some(
                                TypeTemplateGroupDefinition {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    less_than: Span {
                                        line: 23,
                                        column: 20,
                                        position: 467,
                                    },
                                    members: CommaSeparated {
                                        inner: [
                                            Vec(
                                                Span {
                                                    line: 23,
                                                    column: 21,
                                                    position: 468,
                                                },
                                                TypeTemplateGroupDefinition {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    less_than: Span {
                                                        line: 23,
                                                        column: 24,
                                                        position: 471,
                                                    },
                                                    members: CommaSeparated {
                                                        inner: [
                                                            Integer(
                                                                Span {
                                                                    line: 23,
                                                                    column: 25,
                                                                    position: 472,
                                                                },
                                                            ),
                                                        ],
                                                        commas: [],
                                                    },
                                                    greater_than: Span {
                                                        line: 23,
                                                        column: 28,
                                                        position: 475,
                                                    },
                                                },
                                            ),
                                        ],
                                        commas: [],
                                    },
                                    greater_than: Span {
                                        line: 23,
                                        column: 29,
                                        position: 476,
                                    },
                                },
                            ),
                        },
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 23,
                        column: 31,
                        position: 478,
                    },
                    statements: [
                        Return(
                            Explicit {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                return: Span {
                                    line: 24,
                                    column: 5,
                                    position: 484,
                                },
                                expression: Some(
                                    ClassOperation(
                                        Initialization {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            new: Span {
                                                line: 24,
                                                column: 12,
                                                position: 491,
                                            },
                                            class: Identifier {
                                                span: Span {
                                                    line: 24,
                                                    column: 16,
                                                    position: 495,
                                                },
                                                value: "Box",
                                            },
                                            generics: None,
                                            arguments: ArgumentListExpression {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_parenthesis: Span {
                                                    line: 24,
                                                    column: 19,
                                                    position: 498,
                                                },
                                                arguments: CommaSeparated {
                                                    inner: [
                                                        Positional {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            ellipsis: None,
                                                            value: Vec(
                                                                VecExpression {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    vec: Span {
                                                                        line: 24,
                                                                        column: 20,
                                                                        position: 499,
                                                                    },
                                                                    left_bracket: Span {
                                                                        line: 24,
                                                                        column: 23,
                                                                        position: 502,
                                                                    },
                                                                    members: CommaSeparated {
                                                                        inner: [
                                                                            VecExpressionItem {
                                                                                value: Literal(
                                                                                    Integer(
                                                                                        LiteralInteger {
                                                                                            comments: CommentGroup {
                                                                                                comments: [],
                                                                                            },
                                                                                            value: "1",
                                                                                            span: Span {
                                                                                                line: 24,
                                                                                                column: 24,
                                                                                                position: 503,
                                                                                            },
                                                                                        },
                                                                                    ),
                                                                                ),
                                                                            },
                                                                            VecExpressionItem {
                                                                                value: Literal(
                                                                                    Integer(
                                                                                        LiteralInteger {
                                                                                            comments: CommentGroup {
                                                                                                comments: [],
                                                                                            },
                                                                                            value: "2",
                                                                                            span: Span {
                                                                                                line: 24,
                                                                                                column: 27,
                                                                                                position: 506,
                                                                                            },
                                                                                        },
                                                                                    ),
                                                                                ),
                                                                            },
                                                                            VecExpressionItem {
                                                                                value: Literal(
                                                                                    Integer(
                                                                                        LiteralInteger {
                                                                                            comments: CommentGroup {
                                                                                                comments: [],
                                                                                            },
                                                                                            value: "3",
                                                                                            span: Span {
                                                                                                line: 24,
                                                                                                column: 30,
                                                                                                position: 509,
                                                                                            },
                                                                                        },
                                                                                    ),
                                                                                ),
                                                                            },
                                                                        ],
                                                                        commas: [
                                                                            Span {
                                                                                line: 24,
                                                                                column: 25,
                                                                                position: 504,
                                                                            },
                                                                            Span {
                                                                                line: 24,
                                                                                column: 28,
                                                                                position: 507,
                                                                            },
                                                                        ],
                                                                    },
                                                                    right_bracket: Span {
                                                                        line: 24,
                                                                        column: 31,
                                                                        position: 510,
                                                                    },
                                                                },
                                                            ),
                                                        },
                                                    ],
                                                    commas: [],
                                                },
                                                right_parenthesis: Span {
                                                    line: 24,
                                                    column: 32,
                                                    position: 511,
                                                },
                                            },
                                        },
                                    ),
                                ),
                                semicolon: Span {
                                    line: 24,
                                    column: 33,
                                    position: 512,
                                },
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 25,
                        column: 1,
                        position: 514,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 27,
                    column: 1,
                    position: 517,
                },
                name: Identifier {
                    span: Span {
                        line: 27,
                        column: 10,
                        position: 526,
                    },
                    value: "unbox",
                },
                templates: None,
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 27,
                        column: 15,
                        position: 531,
                    },
                    parameters: CommaSeparated {
                        inner: [
                            FunctionLikeParameterDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [],
                                type_definition: Identifier(
                                    TemplatedIdentifier {
                                        name: Identifier {
                                            span: Span {
                                                line: 27,
                                                column: 16,
                                                position: 532,
                                            },
                                            value: "Box",
                                        },
                                        templates: Some(
                                            TypeTemplateGroupDefinition {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                less_than: Span {
                                                    line: 27,
                                                    column: 19,
                                                    position: 535,
                                                },
                                                members: CommaSeparated {
                                                    inner: [
                                                        Vec(
                                                            Span {
                                                                line: 27,
                                                                column: 20,
                                                                position: 536,
                                                            },
                                                            TypeTemplateGroupDefinition {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                less_than: Span {
                                                                    line: 27,
                                                                    column: 23,
                                                                    position: 539,
                                                                },
                                                                members: CommaSeparated {
                                                                    inner: [
                                                                        Integer(
                                                                            Span {
                                                                                line: 27,
                                                                                column: 24,
                                                                                position: 540,
                                                                            },
                                                                        ),
                                                                    ],
                                                                    commas: [],
                                                                },
                                                                greater_than: Span {
                                                                    line: 27,
                                                                    column: 27,
                                                                    position: 543,
                                                                },
                                                            },
                                                        ),
                                                    ],
                                                    commas: [],
                                                },
                                                greater_than: Span {
                                                    line: 27,
                                                    column: 28,
                                                    position: 544,
                                                },
                                            },
                                        ),
                                    },
                                ),
                                ellipsis: None,
                                variable: Variable {
                                    span: Span {
                                        line: 27,
                                        column: 30,
                                        position: 546,
                                    },
                                    name: "$box",
                                },
                                default: None,
                            },
                        ],
                        commas: [],
                    },
                    right_parenthesis: Span {
                        line: 27,
                        column: 34,
                        position: 550,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 27,
                        column: 35,
                        position: 551,
                    },
                    type_definition: Vec(
                        Span {
                            line: 27,
                            column: 37,
                            position: 553,
                        },
                        TypeTemplateGroupDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            less_than: Span {
                                line: 27,
                                column: 40,
                                position: 556,
                            },
                            members: CommaSeparated {
                                inner: [
                                    Integer(
                                        Span {
                                            line: 27,
                                            column: 41,
                                            position: 557,
                                        },
                                    ),
                                ],
                                commas: [],
                            },
                            greater_than: Span {
                                line: 27,
                                column: 44,
                                position: 560,
                            },
                        },
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 27,
                        column: 46,
                        position: 562,
                    },
                    statements: [
                        Return(
                            Explicit {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                return: Span {
                                    line: 28,
                                    column: 5,
                                    position: 568,
                                },
                                expression: Some(
                                    ObjectOperation(
                                        PropertyFetch {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            object: Variable(
                                                Variable {
                                                    span: Span {
                                                        line: 28,
                                                        column: 12,
                                                        position: 575,
                                                    },
                                                    name: "$box",
                                                },
                                            ),
                                            arrow: Span {
                                                line: 28,
                                                column: 16,
                                                position: 579,
                                            },
                                            property: Identifier {
                                                span: Span {
                                                    line: 28,
                                                    column: 18,
                                                    position: 581,
                                                },
                                                value: "value",
                                            },
                                        },
                                    ),
                                ),
                                semicolon: Span {
                                    line: 28,
                                    column: 23,
                                    position: 586,
                                },
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 29,
                        column: 1,
                        position: 588,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 31,
                    column: 1,
                    position: 591,
                },
                name: Identifier {
                    span: Span {
                        line: 31,
                        column: 10,
                        position: 600,
                    },
                    value: "foo",
                },
                templates: None,
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 31,
                        column: 13,
                        position: 603,
                    },
                    parameters: CommaSeparated {
                        inner: [
                            FunctionLikeParameterDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [],
                                type_definition: Boolean(
                                    Span {
                                        line: 31,
                                        column: 14,
                                        position: 604,
                                    },
                                ),
                                ellipsis: None,
                                variable: Variable {
                                    span: Span {
                                        line: 31,
                                        column: 19,
                                        position: 609,
                                    },
                                    name: "$a",
                                },
                                default: None,
                            },
                            FunctionLikeParameterDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [],
                                type_definition: Boolean(
                                    Span {
                                        line: 31,
                                        column: 23,
                                        position: 613,
                                    },
                                ),
                                ellipsis: None,
                                variable: Variable {
                                    span: Span {
                                        line: 31,
                                        column: 28,
                                        position: 618,
                                    },
                                    name: "$b",
                                },
                                default: None,
                            },
                        ],
                        commas: [
                            Span {
                                line: 31,
                                column: 21,
                                position: 611,
                            },
                        ],
                    },
                    right_parenthesis: Span {
                        line: 31,
                        column: 30,
                        position: 620,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 31,
                        column: 31,
                        position: 621,
                    },
                    type_definition: Union(
                        [
                            Vec(
                                Span {
                                    line: 31,
                                    column: 33,
                                    position: 623,
                                },
                                TypeTemplateGroupDefinition {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    less_than: Span {
                                        line: 31,
                                        column: 36,
                                        position: 626,
                                    },
                                    members: CommaSeparated {
                                        inner: [
                                            Integer(
                                                Span {
                                                    line: 31,
                                                    column: 37,
                                                    position: 627,
                                                },
                                            ),
                                        ],
                                        commas: [],
                                    },
                                    greater_than: Span {
                                        line: 31,
                                        column: 40,
                                        position: 630,
                                    },
                                },
                            ),
                            Dict(
                                Span {
                                    line: 31,
                                    column: 42,
                                    position: 632,
                                },
                                TypeTemplateGroupDefinition {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    less_than: Span {
                                        line: 31,
                                        column: 46,
                                        position: 636,
                                    },
                                    members: CommaSeparated {
                                        inner: [
                                            String(
                                                Span {
                                                    line: 31,
                                                    column: 47,
                                                    position: 637,
                                                },
                                            ),
                                            Integer(
                                                Span {
                                                    line: 31,
                                                    column: 55,
                                                    position: 645,
                                                },
                                            ),
                                        ],
                                        commas: [
                                            Span {
                                                line: 31,
                                                column: 53,
                                                position: 643,
                                            },
                                        ],
                                    },
                                    greater_than: Span {
                                        line: 31,
                                        column: 58,
                                        position: 648,
                                    },
                                },
                            ),
                            Identifier(
                                TemplatedIdentifier {
                                    name: Identifier {
                                        span: Span {
                                            line: 31,
                                            column: 60,
                                            position: 650,
                                        },
                                        value: "Box",
                                    },
                                    templates: Some(
                                        TypeTemplateGroupDefinition {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            less_than: Span {
                                                line: 31,
                                                column: 63,
                                                position: 653,
                                            },
                                            members: CommaSeparated {
                                                inner: [
                                                    Vec(
                                                        Span {
                                                            line: 31,
                                                            column: 64,
                                                            position: 654,
                                                        },
                                                        TypeTemplateGroupDefinition {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            less_than: Span {
                                                                line: 31,
                                                                column: 67,
                                                                position: 657,
                                                            },
                                                            members: CommaSeparated {
                                                                inner: [
                                                                    Integer(
                                                                        Span {
                                                                            line: 31,
                                                                            column: 68,
                                                                            position: 658,
                                                                        },
                                                                    ),
                                                                ],
                                                                commas: [],
                                                            },
                                                            greater_than: Span {
                                                                line: 31,
                                                                column: 71,
                                                                position: 661,
                                                            },
                                                        },
                                                    ),
                                                ],
                                                commas: [],
                                            },
                                            greater_than: Span {
                                                line: 31,
                                                column: 72,
                                                position: 662,
                                            },
                                        },
                                    ),
                                },
                            ),
                        ],
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 31,
                        column: 74,
                        position: 664,
                    },
                    statements: [
                        If(
                            IfStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                if: Span {
                                    line: 32,
                                    column: 5,
                                    position: 670,
                                },
                                condition: Variable(
                                    Variable {
                                        span: Span {
                                            line: 32,
                                            column: 8,
                                            position: 673,
                                        },
                                        name: "$a",
                                    },
                                ),
                                block: BlockStatement {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    left_brace: Span {
                                        line: 32,
                                        column: 11,
                                        position: 676,
                                    },
                                    statements: [
                                        Return(
                                            Explicit {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                return: Span {
                                                    line: 33,
                                                    column: 9,
                                                    position: 686,
                                                },
                                                expression: Some(
                                                    Vec(
                                                        VecExpression {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            vec: Span {
                                                                line: 33,
                                                                column: 16,
                                                                position: 693,
                                                            },
                                                            left_bracket: Span {
                                                                line: 33,
                                                                column: 19,
                                                                position: 696,
                                                            },
                                                            members: CommaSeparated {
                                                                inner: [
                                                                    VecExpressionItem {
                                                                        value: Literal(
                                                                            Integer(
                                                                                LiteralInteger {
                                                                                    comments: CommentGroup {
                                                                                        comments: [],
                                                                                    },
                                                                                    value: "1",
                                                                                    span: Span {
                                                                                        line: 33,
                                                                                        column: 20,
                                                                                        position: 697,
                                                                                    },
                                                                                },
                                                                            ),
                                                                        ),
                                                                    },
                                                                    VecExpressionItem {
                                                                        value: Literal(
                                                                            Integer(
                                                                                LiteralInteger {
                                                                                    comments: CommentGroup {
                                                                                        comments: [],
                                                                                    },
                                                                                    value: "2",
                                                                                    span: Span {
                                                                                        line: 33,
                                                                                        column: 23,
                                                                                        position: 700,
                                                                                    },
                                                                                },
                                                                            ),
                                                                        ),
                                                                    },
                                                                    VecExpressionItem {
                                                                        value: Literal(
                                                                            Integer(
                                                                                LiteralInteger {
                                                                                    comments: CommentGroup {
                                                                                        comments: [],
                                                                                    },
                                                                                    value: "3",
                                                                                    span: Span {
                                                                                        line: 33,
                                                                                        column: 26,
                                                                                        position: 703,
                                                                                    },
                                                                                },
                                                                            ),
                                                                        ),
                                                                    },
                                                                ],
                                                                commas: [
                                                                    Span {
                                                                        line: 33,
                                                                        column: 21,
                                                                        position: 698,
                                                                    },
                                                                    Span {
                                                                        line: 33,
                                                                        column: 24,
                                                                        position: 701,
                                                                    },
                                                                ],
                                                            },
                                                            right_bracket: Span {
                                                                line: 33,
                                                                column: 27,
                                                                position: 704,
                                                            },
                                                        },
                                                    ),
                                                ),
                                                semicolon: Span {
                                                    line: 33,
                                                    column: 28,
                                                    position: 705,
                                                },
                                            },
                                        ),
                                    ],
                                    right_brace: Span {
                                        line: 34,
                                        column: 5,
                                        position: 711,
                                    },
                                },
                                elseifs: [],
                                else: Some(
                                    IfStatementElse {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        else: Span {
                                            line: 34,
                                            column: 7,
                                            position: 713,
                                        },
                                        block: If(
                                            IfStatement {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                if: Span {
                                                    line: 34,
                                                    column: 12,
                                                    position: 718,
                                                },
                                                condition: Variable(
                                                    Variable {
                                                        span: Span {
                                                            line: 34,
                                                            column: 15,
                                                            position: 721,
                                                        },
                                                        name: "$b",
                                                    },
                                                ),
                                                block: BlockStatement {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left_brace: Span {
                                                        line: 34,
                                                        column: 18,
                                                        position: 724,
                                                    },
                                                    statements: [
                                                        Return(
                                                            Explicit {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                return: Span {
                                                                    line: 35,
                                                                    column: 9,
                                                                    position: 734,
                                                                },
                                                                expression: Some(
                                                                    Dict(
                                                                        DictExpression {
                                                                            comments: CommentGroup {
                                                                                comments: [],
                                                                            },
                                                                            dict: Span {
                                                                                line: 35,
                                                                                column: 16,
                                                                                position: 741,
                                                                            },
                                                                            left_bracket: Span {
                                                                                line: 35,
                                                                                column: 20,
                                                                                position: 745,
                                                                            },
                                                                            members: CommaSeparated {
                                                                                inner: [
                                                                                    DictExpressionItem {
                                                                                        key: Literal(
                                                                                            String(
                                                                                                LiteralString {
                                                                                                    comments: CommentGroup {
                                                                                                        comments: [],
                                                                                                    },
                                                                                                    value: "'a'",
                                                                                                    span: Span {
                                                                                                        line: 35,
                                                                                                        column: 21,
                                                                                                        position: 746,
                                                                                                    },
                                                                                                },
                                                                                            ),
                                                                                        ),
                                                                                        double_arrow: Span {
                                                                                            line: 35,
                                                                                            column: 25,
                                                                                            position: 750,
                                                                                        },
                                                                                        value: Literal(
                                                                                            Integer(
                                                                                                LiteralInteger {
                                                                                                    comments: CommentGroup {
                                                                                                        comments: [],
                                                                                                    },
                                                                                                    value: "1",
                                                                                                    span: Span {
                                                                                                        line: 35,
                                                                                                        column: 28,
                                                                                                        position: 753,
                                                                                                    },
                                                                                                },
                                                                                            ),
                                                                                        ),
                                                                                    },
                                                                                    DictExpressionItem {
                                                                                        key: Literal(
                                                                                            String(
                                                                                                LiteralString {
                                                                                                    comments: CommentGroup {
                                                                                                        comments: [],
                                                                                                    },
                                                                                                    value: "'b'",
                                                                                                    span: Span {
                                                                                                        line: 35,
                                                                                                        column: 31,
                                                                                                        position: 756,
                                                                                                    },
                                                                                                },
                                                                                            ),
                                                                                        ),
                                                                                        double_arrow: Span {
                                                                                            line: 35,
                                                                                            column: 35,
                                                                                            position: 760,
                                                                                        },
                                                                                        value: Literal(
                                                                                            Integer(
                                                                                                LiteralInteger {
                                                                                                    comments: CommentGroup {
                                                                                                        comments: [],
                                                                                                    },
                                                                                                    value: "2",
                                                                                                    span: Span {
                                                                                                        line: 35,
                                                                                                        column: 38,
                                                                                                        position: 763,
                                                                                                    },
                                                                                                },
                                                                                            ),
                                                                                        ),
                                                                                    },
                                                                                    DictExpressionItem {
                                                                                        key: Literal(
                                                                                            String(
                                                                                                LiteralString {
                                                                                                    comments: CommentGroup {
                                                                                                        comments: [],
                                                                                                    },
                                                                                                    value: "'c'",
                                                                                                    span: Span {
                                                                                                        line: 35,
                                                                                                        column: 41,
                                                                                                        position: 766,
                                                                                                    },
                                                                                                },
                                                                                            ),
                                                                                        ),
                                                                                        double_arrow: Span {
                                                                                            line: 35,
                                                                                            column: 45,
                                                                                            position: 770,
                                                                                        },
                                                                                        value: Literal(
                                                                                            Integer(
                                                                                                LiteralInteger {
                                                                                                    comments: CommentGroup {
                                                                                                        comments: [],
                                                                                                    },
                                                                                                    value: "3",
                                                                                                    span: Span {
                                                                                                        line: 35,
                                                                                                        column: 48,
                                                                                                        position: 773,
                                                                                                    },
                                                                                                },
                                                                                            ),
                                                                                        ),
                                                                                    },
                                                                                ],
                                                                                commas: [
                                                                                    Span {
                                                                                        line: 35,
                                                                                        column: 29,
                                                                                        position: 754,
                                                                                    },
                                                                                    Span {
                                                                                        line: 35,
                                                                                        column: 39,
                                                                                        position: 764,
                                                                                    },
                                                                                ],
                                                                            },
                                                                            right_bracket: Span {
                                                                                line: 35,
                                                                                column: 49,
                                                                                position: 774,
                                                                            },
                                                                        },
                                                                    ),
                                                                ),
                                                                semicolon: Span {
                                                                    line: 35,
                                                                    column: 50,
                                                                    position: 775,
                                                                },
                                                            },
                                                        ),
                                                    ],
                                                    right_brace: Span {
                                                        line: 36,
                                                        column: 5,
                                                        position: 781,
                                                    },
                                                },
                                                elseifs: [],
                                                else: Some(
                                                    IfStatementElse {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        else: Span {
                                                            line: 36,
                                                            column: 7,
                                                            position: 783,
                                                        },
                                                        block: Block(
                                                            BlockStatement {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_brace: Span {
                                                                    line: 36,
                                                                    column: 12,
                                                                    position: 788,
                                                                },
                                                                statements: [
                                                                    Return(
                                                                        Explicit {
                                                                            comments: CommentGroup {
                                                                                comments: [],
                                                                            },
                                                                            return: Span {
                                                                                line: 37,
                                                                                column: 9,
                                                                                position: 798,
                                                                            },
                                                                            expression: Some(
                                                                                ClassOperation(
                                                                                    Initialization {
                                                                                        comments: CommentGroup {
                                                                                            comments: [],
                                                                                        },
                                                                                        new: Span {
                                                                                            line: 37,
                                                                                            column: 16,
                                                                                            position: 805,
                                                                                        },
                                                                                        class: Identifier {
                                                                                            span: Span {
                                                                                                line: 37,
                                                                                                column: 20,
                                                                                                position: 809,
                                                                                            },
                                                                                            value: "Box",
                                                                                        },
                                                                                        generics: None,
                                                                                        arguments: ArgumentListExpression {
                                                                                            comments: CommentGroup {
                                                                                                comments: [],
                                                                                            },
                                                                                            left_parenthesis: Span {
                                                                                                line: 37,
                                                                                                column: 23,
                                                                                                position: 812,
                                                                                            },
                                                                                            arguments: CommaSeparated {
                                                                                                inner: [
                                                                                                    Positional {
                                                                                                        comments: CommentGroup {
                                                                                                            comments: [],
                                                                                                        },
                                                                                                        ellipsis: None,
                                                                                                        value: Vec(
                                                                                                            VecExpression {
                                                                                                                comments: CommentGroup {
                                                                                                                    comments: [],
                                                                                                                },
                                                                                                                vec: Span {
                                                                                                                    line: 37,
                                                                                                                    column: 24,
                                                                                                                    position: 813,
                                                                                                                },
                                                                                                                left_bracket: Span {
                                                                                                                    line: 37,
                                                                                                                    column: 27,
                                                                                                                    position: 816,
                                                                                                                },
                                                                                                                members: CommaSeparated {
                                                                                                                    inner: [
                                                                                                                        VecExpressionItem {
                                                                                                                            value: Literal(
                                                                                                                                Integer(
                                                                                                                                    LiteralInteger {
                                                                                                                                        comments: CommentGroup {
                                                                                                                                            comments: [],
                                                                                                                                        },
                                                                                                                                        value: "1",
                                                                                                                                        span: Span {
                                                                                                                                            line: 37,
                                                                                                                                            column: 28,
                                                                                                                                            position: 817,
                                                                                                                                        },
                                                                                                                                    },
                                                                                                                                ),
                                                                                                                            ),
                                                                                                                        },
                                                                                                                        VecExpressionItem {
                                                                                                                            value: Literal(
                                                                                                                                Integer(
                                                                                                                                    LiteralInteger {
                                                                                                                                        comments: CommentGroup {
                                                                                                                                            comments: [],
                                                                                                                                        },
                                                                                                                                        value: "2",
                                                                                                                                        span: Span {
                                                                                                                                            line: 37,
                                                                                                                                            column: 31,
                                                                                                                                            position: 820,
                                                                                                                                        },
                                                                                                                                    },
                                                                                                                                ),
                                                                                                                            ),
                                                                                                                        },
                                                                                                                        VecExpressionItem {
                                                                                                                            value: Literal(
                                                                                                                                Integer(
                                                                                                                                    LiteralInteger {
                                                                                                                                        comments: CommentGroup {
                                                                                                                                            comments: [],
                                                                                                                                        },
                                                                                                                                        value: "3",
                                                                                                                                        span: Span {
                                                                                                                                            line: 37,
                                                                                                                                            column: 34,
                                                                                                                                            position: 823,
                                                                                                                                        },
                                                                                                                                    },
                                                                                                                                ),
                                                                                                                            ),
                                                                                                                        },
                                                                                                                    ],
                                                                                                                    commas: [
                                                                                                                        Span {
                                                                                                                            line: 37,
                                                                                                                            column: 29,
                                                                                                                            position: 818,
                                                                                                                        },
                                                                                                                        Span {
                                                                                                                            line: 37,
                                                                                                                            column: 32,
                                                                                                                            position: 821,
                                                                                                                        },
                                                                                                                    ],
                                                                                                                },
                                                                                                                right_bracket: Span {
                                                                                                                    line: 37,
                                                                                                                    column: 35,
                                                                                                                    position: 824,
                                                                                                                },
                                                                                                            },
                                                                                                        ),
                                                                                                    },
                                                                                                ],
                                                                                                commas: [],
                                                                                            },
                                                                                            right_parenthesis: Span {
                                                                                                line: 37,
                                                                                                column: 36,
                                                                                                position: 825,
                                                                                            },
                                                                                        },
                                                                                    },
                                                                                ),
                                                                            ),
                                                                            semicolon: Span {
                                                                                line: 37,
                                                                                column: 37,
                                                                                position: 826,
                                                                            },
                                                                        },
                                                                    ),
                                                                ],
                                                                right_brace: Span {
                                                                    line: 38,
                                                                    column: 5,
                                                                    position: 832,
                                                                },
                                                            },
                                                        ),
                                                    },
                                                ),
                                            },
                                        ),
                                    },
                                ),
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 39,
                        column: 1,
                        position: 834,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 41,
                    column: 1,
                    position: 837,
                },
                name: Identifier {
                    span: Span {
                        line: 41,
                        column: 10,
                        position: 846,
                    },
                    value: "into_vec",
                },
                templates: Some(
                    TemplateGroupDefinition {
                        comments: CommentGroup {
                            comments: [],
                        },
                        less_than: Span {
                            line: 41,
                            column: 18,
                            position: 854,
                        },
                        members: CommaSeparated {
                            inner: [
                                TemplateDefinition {
                                    variance: Invaraint,
                                    name: Identifier {
                                        span: Span {
                                            line: 41,
                                            column: 19,
                                            position: 855,
                                        },
                                        value: "T",
                                    },
                                    constraint: None,
                                },
                            ],
                            commas: [],
                        },
                        greater_than: Span {
                            line: 41,
                            column: 20,
                            position: 856,
                        },
                    },
                ),
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 41,
                        column: 21,
                        position: 857,
                    },
                    parameters: CommaSeparated {
                        inner: [
                            FunctionLikeParameterDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [],
                                type_definition: Iterable(
                                    Span {
                                        line: 41,
                                        column: 22,
                                        position: 858,
                                    },
                                    TypeTemplateGroupDefinition {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        less_than: Span {
                                            line: 41,
                                            column: 30,
                                            position: 866,
                                        },
                                        members: CommaSeparated {
                                            inner: [
                                                Identifier(
                                                    TemplatedIdentifier {
                                                        name: Identifier {
                                                            span: Span {
                                                                line: 41,
                                                                column: 31,
                                                                position: 867,
                                                            },
                                                            value: "_",
                                                        },
                                                        templates: None,
                                                    },
                                                ),
                                                Identifier(
                                                    TemplatedIdentifier {
                                                        name: Identifier {
                                                            span: Span {
                                                                line: 41,
                                                                column: 34,
                                                                position: 870,
                                                            },
                                                            value: "Tv",
                                                        },
                                                        templates: None,
                                                    },
                                                ),
                                            ],
                                            commas: [
                                                Span {
                                                    line: 41,
                                                    column: 32,
                                                    position: 868,
                                                },
                                            ],
                                        },
                                        greater_than: Span {
                                            line: 41,
                                            column: 36,
                                            position: 872,
                                        },
                                    },
                                ),
                                ellipsis: None,
                                variable: Variable {
                                    span: Span {
                                        line: 41,
                                        column: 38,
                                        position: 874,
                                    },
                                    name: "$iterable",
                                },
                                default: None,
                            },
                        ],
                        commas: [],
                    },
                    right_parenthesis: Span {
                        line: 41,
                        column: 47,
                        position: 883,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 41,
                        column: 48,
                        position: 884,
                    },
                    type_definition: Vec(
                        Span {
                            line: 41,
                            column: 50,
                            position: 886,
                        },
                        TypeTemplateGroupDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            less_than: Span {
                                line: 41,
                                column: 53,
                                position: 889,
                            },
                            members: CommaSeparated {
                                inner: [
                                    Identifier(
                                        TemplatedIdentifier {
                                            name: Identifier {
                                                span: Span {
                                                    line: 41,
                                                    column: 54,
                                                    position: 890,
                                                },
                                                value: "T",
                                            },
                                            templates: None,
                                        },
                                    ),
                                ],
                                commas: [],
                            },
                            greater_than: Span {
                                line: 41,
                                column: 55,
                                position: 891,
                            },
                        },
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 41,
                        column: 57,
                        position: 893,
                    },
                    statements: [
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 42,
                                                    column: 5,
                                                    position: 899,
                                                },
                                                name: "$vec",
                                            },
                                        ),
                                        equals: Span {
                                            line: 42,
                                            column: 10,
                                            position: 904,
                                        },
                                        right: Vec(
                                            VecExpression {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                vec: Span {
                                                    line: 42,
                                                    column: 12,
                                                    position: 906,
                                                },
                                                left_bracket: Span {
                                                    line: 42,
                                                    column: 15,
                                                    position: 909,
                                                },
                                                members: CommaSeparated {
                                                    inner: [],
                                                    commas: [],
                                                },
                                                right_bracket: Span {
                                                    line: 42,
                                                    column: 16,
                                                    position: 910,
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 42,
                                    column: 17,
                                    position: 911,
                                },
                            },
                        ),
                        Foreach(
                            ForeachStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                foreach: Span {
                                    line: 43,
                                    column: 5,
                                    position: 917,
                                },
                                iterator: Value {
                                    expression: Variable(
                                        Variable {
                                            span: Span {
                                                line: 43,
                                                column: 13,
                                                position: 925,
                                            },
                                            name: "$iterable",
                                        },
                                    ),
                                    as: Span {
                                        line: 43,
                                        column: 23,
                                        position: 935,
                                    },
                                    value: Variable {
                                        span: Span {
                                            line: 43,
                                            column: 26,
                                            position: 938,
                                        },
                                        name: "$value",
                                    },
                                },
                                block: BlockStatement {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    left_brace: Span {
                                        line: 43,
                                        column: 33,
                                        position: 945,
                                    },
                                    statements: [
                                        Expression(
                                            ExpressionStatement {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                expression: AssignmentOperation(
                                                    Assignment {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        left: ArrayOperation(
                                                            Push {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                array: Variable(
                                                                    Variable {
                                                                        span: Span {
                                                                            line: 44,
                                                                            column: 9,
                                                                            position: 955,
                                                                        },
                                                                        name: "$vec",
                                                                    },
                                                                ),
                                                                left_bracket: Span {
                                                                    line: 44,
                                                                    column: 13,
                                                                    position: 959,
                                                                },
                                                                right_bracket: Span {
                                                                    line: 44,
                                                                    column: 14,
                                                                    position: 960,
                                                                },
                                                            },
                                                        ),
                                                        equals: Span {
                                                            line: 44,
                                                            column: 16,
                                                            position: 962,
                                                        },
                                                        right: Variable(
                                                            Variable {
                                                                span: Span {
                                                                    line: 44,
                                                                    column: 18,
                                                                    position: 964,
                                                                },
                                                                name: "$value",
                                                            },
                                                        ),
                                                    },
                                                ),
                                                semicolon: Span {
                                                    line: 44,
                                                    column: 24,
                                                    position: 970,
                                                },
                                            },
                                        ),
                                    ],
                                    right_brace: Span {
                                        line: 45,
                                        column: 5,
                                        position: 976,
                                    },
                                },
                            },
                        ),
                        Return(
                            Explicit {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                return: Span {
                                    line: 47,
                                    column: 5,
                                    position: 983,
                                },
                                expression: Some(
                                    Variable(
                                        Variable {
                                            span: Span {
                                                line: 47,
                                                column: 12,
                                                position: 990,
                                            },
                                            name: "$vec",
                                        },
                                    ),
                                ),
                                semicolon: Span {
                                    line: 47,
                                    column: 16,
                                    position: 994,
                                },
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 48,
                        column: 1,
                        position: 996,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 50,
                    column: 1,
                    position: 999,
                },
                name: Identifier {
                    span: Span {
                        line: 50,
                        column: 10,
                        position: 1008,
                    },
                    value: "into_dict",
                },
                templates: Some(
                    TemplateGroupDefinition {
                        comments: CommentGroup {
                            comments: [],
                        },
                        less_than: Span {
                            line: 50,
                            column: 19,
                            position: 1017,
                        },
                        members: CommaSeparated {
                            inner: [
                                TemplateDefinition {
                                    variance: Invaraint,
                                    name: Identifier {
                                        span: Span {
                                            line: 50,
                                            column: 20,
                                            position: 1018,
                                        },
                                        value: "Tk",
                                    },
                                    constraint: None,
                                },
                                TemplateDefinition {
                                    variance: Invaraint,
                                    name: Identifier {
                                        span: Span {
                                            line: 50,
                                            column: 24,
                                            position: 1022,
                                        },
                                        value: "Tv",
                                    },
                                    constraint: None,
                                },
                            ],
                            commas: [
                                Span {
                                    line: 50,
                                    column: 22,
                                    position: 1020,
                                },
                            ],
                        },
                        greater_than: Span {
                            line: 50,
                            column: 26,
                            position: 1024,
                        },
                    },
                ),
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 50,
                        column: 27,
                        position: 1025,
                    },
                    parameters: CommaSeparated {
                        inner: [
                            FunctionLikeParameterDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [],
                                type_definition: Iterable(
                                    Span {
                                        line: 50,
                                        column: 28,
                                        position: 1026,
                                    },
                                    TypeTemplateGroupDefinition {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        less_than: Span {
                                            line: 50,
                                            column: 36,
                                            position: 1034,
                                        },
                                        members: CommaSeparated {
                                            inner: [
                                                Identifier(
                                                    TemplatedIdentifier {
                                                        name: Identifier {
                                                            span: Span {
                                                                line: 50,
                                                                column: 37,
                                                                position: 1035,
                                                            },
                                                            value: "Tk",
                                                        },
                                                        templates: None,
                                                    },
                                                ),
                                                Identifier(
                                                    TemplatedIdentifier {
                                                        name: Identifier {
                                                            span: Span {
                                                                line: 50,
                                                                column: 41,
                                                                position: 1039,
                                                            },
                                                            value: "Tv",
                                                        },
                                                        templates: None,
                                                    },
                                                ),
                                            ],
                                            commas: [
                                                Span {
                                                    line: 50,
                                                    column: 39,
                                                    position: 1037,
                                                },
                                            ],
                                        },
                                        greater_than: Span {
                                            line: 50,
                                            column: 43,
                                            position: 1041,
                                        },
                                    },
                                ),
                                ellipsis: None,
                                variable: Variable {
                                    span: Span {
                                        line: 50,
                                        column: 45,
                                        position: 1043,
                                    },
                                    name: "$iterable",
                                },
                                default: None,
                            },
                        ],
                        commas: [],
                    },
                    right_parenthesis: Span {
                        line: 50,
                        column: 54,
                        position: 1052,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 50,
                        column: 55,
                        position: 1053,
                    },
                    type_definition: Dict(
                        Span {
                            line: 50,
                            column: 57,
                            position: 1055,
                        },
                        TypeTemplateGroupDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            less_than: Span {
                                line: 50,
                                column: 61,
                                position: 1059,
                            },
                            members: CommaSeparated {
                                inner: [
                                    Identifier(
                                        TemplatedIdentifier {
                                            name: Identifier {
                                                span: Span {
                                                    line: 50,
                                                    column: 62,
                                                    position: 1060,
                                                },
                                                value: "Tk",
                                            },
                                            templates: None,
                                        },
                                    ),
                                    Identifier(
                                        TemplatedIdentifier {
                                            name: Identifier {
                                                span: Span {
                                                    line: 50,
                                                    column: 66,
                                                    position: 1064,
                                                },
                                                value: "Tv",
                                            },
                                            templates: None,
                                        },
                                    ),
                                ],
                                commas: [
                                    Span {
                                        line: 50,
                                        column: 64,
                                        position: 1062,
                                    },
                                ],
                            },
                            greater_than: Span {
                                line: 50,
                                column: 68,
                                position: 1066,
                            },
                        },
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 50,
                        column: 70,
                        position: 1068,
                    },
                    statements: [
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 51,
                                                    column: 5,
                                                    position: 1074,
                                                },
                                                name: "$dict",
                                            },
                                        ),
                                        equals: Span {
                                            line: 51,
                                            column: 11,
                                            position: 1080,
                                        },
                                        right: Dict(
                                            DictExpression {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                dict: Span {
                                                    line: 51,
                                                    column: 13,
                                                    position: 1082,
                                                },
                                                left_bracket: Span {
                                                    line: 51,
                                                    column: 17,
                                                    position: 1086,
                                                },
                                                members: CommaSeparated {
                                                    inner: [],
                                                    commas: [],
                                                },
                                                right_bracket: Span {
                                                    line: 51,
                                                    column: 18,
                                                    position: 1087,
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 51,
                                    column: 19,
                                    position: 1088,
                                },
                            },
                        ),
                        Foreach(
                            ForeachStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                foreach: Span {
                                    line: 52,
                                    column: 5,
                                    position: 1094,
                                },
                                iterator: KeyAndValue {
                                    expression: Variable(
                                        Variable {
                                            span: Span {
                                                line: 52,
                                                column: 13,
                                                position: 1102,
                                            },
                                            name: "$iterable",
                                        },
                                    ),
                                    as: Span {
                                        line: 52,
                                        column: 23,
                                        position: 1112,
                                    },
                                    key: Variable {
                                        span: Span {
                                            line: 52,
                                            column: 26,
                                            position: 1115,
                                        },
                                        name: "$key",
                                    },
                                    double_arrow: Span {
                                        line: 52,
                                        column: 31,
                                        position: 1120,
                                    },
                                    value: Variable {
                                        span: Span {
                                            line: 52,
                                            column: 34,
                                            position: 1123,
                                        },
                                        name: "$value",
                                    },
                                },
                                block: BlockStatement {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    left_brace: Span {
                                        line: 52,
                                        column: 41,
                                        position: 1130,
                                    },
                                    statements: [
                                        Expression(
                                            ExpressionStatement {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                expression: AssignmentOperation(
                                                    Assignment {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        left: ArrayOperation(
                                                            Access {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                array: Variable(
                                                                    Variable {
                                                                        span: Span {
                                                                            line: 53,
                                                                            column: 9,
                                                                            position: 1140,
                                                                        },
                                                                        name: "$dict",
                                                                    },
                                                                ),
                                                                left_bracket: Span {
                                                                    line: 53,
                                                                    column: 14,
                                                                    position: 1145,
                                                                },
                                                                index: Variable(
                                                                    Variable {
                                                                        span: Span {
                                                                            line: 53,
                                                                            column: 15,
                                                                            position: 1146,
                                                                        },
                                                                        name: "$key",
                                                                    },
                                                                ),
                                                                right_bracket: Span {
                                                                    line: 53,
                                                                    column: 19,
                                                                    position: 1150,
                                                                },
                                                            },
                                                        ),
                                                        equals: Span {
                                                            line: 53,
                                                            column: 21,
                                                            position: 1152,
                                                        },
                                                        right: Variable(
                                                            Variable {
                                                                span: Span {
                                                                    line: 53,
                                                                    column: 23,
                                                                    position: 1154,
                                                                },
                                                                name: "$value",
                                                            },
                                                        ),
                                                    },
                                                ),
                                                semicolon: Span {
                                                    line: 53,
                                                    column: 29,
                                                    position: 1160,
                                                },
                                            },
                                        ),
                                    ],
                                    right_brace: Span {
                                        line: 54,
                                        column: 5,
                                        position: 1166,
                                    },
                                },
                            },
                        ),
                        Return(
                            Explicit {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                return: Span {
                                    line: 56,
                                    column: 5,
                                    position: 1173,
                                },
                                expression: Some(
                                    Variable(
                                        Variable {
                                            span: Span {
                                                line: 56,
                                                column: 12,
                                                position: 1180,
                                            },
                                            name: "$dict",
                                        },
                                    ),
                                ),
                                semicolon: Span {
                                    line: 56,
                                    column: 17,
                                    position: 1185,
                                },
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 57,
                        column: 1,
                        position: 1187,
                    },
                },
            },
        ),
        Function(
            FunctionDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [],
                function: Span {
                    line: 59,
                    column: 1,
                    position: 1190,
                },
                name: Identifier {
                    span: Span {
                        line: 59,
                        column: 10,
                        position: 1199,
                    },
                    value: "baz",
                },
                templates: None,
                parameters: FunctionLikeParameterListDefinition {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 59,
                        column: 13,
                        position: 1202,
                    },
                    parameters: CommaSeparated {
                        inner: [],
                        commas: [],
                    },
                    right_parenthesis: Span {
                        line: 59,
                        column: 14,
                        position: 1203,
                    },
                },
                return_type: FunctionLikeReturnTypeDefinition {
                    colon: Span {
                        line: 59,
                        column: 15,
                        position: 1204,
                    },
                    type_definition: Void(
                        Span {
                            line: 59,
                            column: 17,
                            position: 1206,
                        },
                    ),
                },
                body: BlockStatement {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_brace: Span {
                        line: 59,
                        column: 22,
                        position: 1211,
                    },
                    statements: [
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 60,
                                                    column: 5,
                                                    position: 1217,
                                                },
                                                name: "$dict",
                                            },
                                        ),
                                        equals: Span {
                                            line: 60,
                                            column: 11,
                                            position: 1223,
                                        },
                                        right: Dict(
                                            DictExpression {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                dict: Span {
                                                    line: 60,
                                                    column: 13,
                                                    position: 1225,
                                                },
                                                left_bracket: Span {
                                                    line: 60,
                                                    column: 17,
                                                    position: 1229,
                                                },
                                                members: CommaSeparated {
                                                    inner: [
                                                        DictExpressionItem {
                                                            key: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "1",
                                                                        span: Span {
                                                                            line: 60,
                                                                            column: 18,
                                                                            position: 1230,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                            double_arrow: Span {
                                                                line: 60,
                                                                column: 20,
                                                                position: 1232,
                                                            },
                                                            value: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "1",
                                                                        span: Span {
                                                                            line: 60,
                                                                            column: 23,
                                                                            position: 1235,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                        },
                                                        DictExpressionItem {
                                                            key: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "2",
                                                                        span: Span {
                                                                            line: 60,
                                                                            column: 26,
                                                                            position: 1238,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                            double_arrow: Span {
                                                                line: 60,
                                                                column: 28,
                                                                position: 1240,
                                                            },
                                                            value: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "2",
                                                                        span: Span {
                                                                            line: 60,
                                                                            column: 31,
                                                                            position: 1243,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                        },
                                                        DictExpressionItem {
                                                            key: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "3",
                                                                        span: Span {
                                                                            line: 60,
                                                                            column: 34,
                                                                            position: 1246,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                            double_arrow: Span {
                                                                line: 60,
                                                                column: 36,
                                                                position: 1248,
                                                            },
                                                            value: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "3",
                                                                        span: Span {
                                                                            line: 60,
                                                                            column: 39,
                                                                            position: 1251,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                        },
                                                    ],
                                                    commas: [
                                                        Span {
                                                            line: 60,
                                                            column: 24,
                                                            position: 1236,
                                                        },
                                                        Span {
                                                            line: 60,
                                                            column: 32,
                                                            position: 1244,
                                                        },
                                                    ],
                                                },
                                                right_bracket: Span {
                                                    line: 60,
                                                    column: 40,
                                                    position: 1252,
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 60,
                                    column: 41,
                                    position: 1253,
                                },
                            },
                        ),
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 61,
                                                    column: 5,
                                                    position: 1259,
                                                },
                                                name: "$vec",
                                            },
                                        ),
                                        equals: Span {
                                            line: 61,
                                            column: 10,
                                            position: 1264,
                                        },
                                        right: Vec(
                                            VecExpression {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                vec: Span {
                                                    line: 61,
                                                    column: 12,
                                                    position: 1266,
                                                },
                                                left_bracket: Span {
                                                    line: 61,
                                                    column: 15,
                                                    position: 1269,
                                                },
                                                members: CommaSeparated {
                                                    inner: [
                                                        VecExpressionItem {
                                                            value: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "1",
                                                                        span: Span {
                                                                            line: 61,
                                                                            column: 16,
                                                                            position: 1270,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                        },
                                                        VecExpressionItem {
                                                            value: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "2",
                                                                        span: Span {
                                                                            line: 61,
                                                                            column: 19,
                                                                            position: 1273,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                        },
                                                        VecExpressionItem {
                                                            value: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        value: "3",
                                                                        span: Span {
                                                                            line: 61,
                                                                            column: 22,
                                                                            position: 1276,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                        },
                                                    ],
                                                    commas: [
                                                        Span {
                                                            line: 61,
                                                            column: 17,
                                                            position: 1271,
                                                        },
                                                        Span {
                                                            line: 61,
                                                            column: 20,
                                                            position: 1274,
                                                        },
                                                    ],
                                                },
                                                right_bracket: Span {
                                                    line: 61,
                                                    column: 23,
                                                    position: 1277,
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 61,
                                    column: 24,
                                    position: 1278,
                                },
                            },
                        ),
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 63,
                                                    column: 5,
                                                    position: 1285,
                                                },
                                                name: "$dict2",
                                            },
                                        ),
                                        equals: Span {
                                            line: 63,
                                            column: 12,
                                            position: 1292,
                                        },
                                        right: FunctionOperation(
                                            Call {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                function: Identifier(
                                                    Identifier {
                                                        span: Span {
                                                            line: 63,
                                                            column: 14,
                                                            position: 1294,
                                                        },
                                                        value: "into_dict",
                                                    },
                                                ),
                                                generics: Some(
                                                    GenericGroupExpression {
                                                        double_colon_less_than: Span {
                                                            line: 63,
                                                            column: 23,
                                                            position: 1303,
                                                        },
                                                        types: CommaSeparated {
                                                            inner: [
                                                                Integer(
                                                                    Span {
                                                                        line: 63,
                                                                        column: 26,
                                                                        position: 1306,
                                                                    },
                                                                ),
                                                                Integer(
                                                                    Span {
                                                                        line: 63,
                                                                        column: 31,
                                                                        position: 1311,
                                                                    },
                                                                ),
                                                            ],
                                                            commas: [
                                                                Span {
                                                                    line: 63,
                                                                    column: 29,
                                                                    position: 1309,
                                                                },
                                                            ],
                                                        },
                                                        greater_than: Span {
                                                            line: 63,
                                                            column: 34,
                                                            position: 1314,
                                                        },
                                                    },
                                                ),
                                                arguments: ArgumentListExpression {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left_parenthesis: Span {
                                                        line: 63,
                                                        column: 35,
                                                        position: 1315,
                                                    },
                                                    arguments: CommaSeparated {
                                                        inner: [
                                                            Positional {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                ellipsis: None,
                                                                value: Variable(
                                                                    Variable {
                                                                        span: Span {
                                                                            line: 63,
                                                                            column: 36,
                                                                            position: 1316,
                                                                        },
                                                                        name: "$vec",
                                                                    },
                                                                ),
                                                            },
                                                        ],
                                                        commas: [],
                                                    },
                                                    right_parenthesis: Span {
                                                        line: 63,
                                                        column: 40,
                                                        position: 1320,
                                                    },
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 63,
                                    column: 41,
                                    position: 1321,
                                },
                            },
                        ),
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 64,
                                                    column: 5,
                                                    position: 1327,
                                                },
                                                name: "$vec2",
                                            },
                                        ),
                                        equals: Span {
                                            line: 64,
                                            column: 11,
                                            position: 1333,
                                        },
                                        right: FunctionOperation(
                                            Call {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                function: Identifier(
                                                    Identifier {
                                                        span: Span {
                                                            line: 64,
                                                            column: 13,
                                                            position: 1335,
                                                        },
                                                        value: "into_vec",
                                                    },
                                                ),
                                                generics: Some(
                                                    GenericGroupExpression {
                                                        double_colon_less_than: Span {
                                                            line: 64,
                                                            column: 21,
                                                            position: 1343,
                                                        },
                                                        types: CommaSeparated {
                                                            inner: [
                                                                Integer(
                                                                    Span {
                                                                        line: 64,
                                                                        column: 24,
                                                                        position: 1346,
                                                                    },
                                                                ),
                                                            ],
                                                            commas: [],
                                                        },
                                                        greater_than: Span {
                                                            line: 64,
                                                            column: 27,
                                                            position: 1349,
                                                        },
                                                    },
                                                ),
                                                arguments: ArgumentListExpression {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left_parenthesis: Span {
                                                        line: 64,
                                                        column: 28,
                                                        position: 1350,
                                                    },
                                                    arguments: CommaSeparated {
                                                        inner: [
                                                            Positional {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                ellipsis: None,
                                                                value: Variable(
                                                                    Variable {
                                                                        span: Span {
                                                                            line: 64,
                                                                            column: 29,
                                                                            position: 1351,
                                                                        },
                                                                        name: "$dict",
                                                                    },
                                                                ),
                                                            },
                                                        ],
                                                        commas: [],
                                                    },
                                                    right_parenthesis: Span {
                                                        line: 64,
                                                        column: 34,
                                                        position: 1356,
                                                    },
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 64,
                                    column: 35,
                                    position: 1357,
                                },
                            },
                        ),
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 66,
                                                    column: 5,
                                                    position: 1364,
                                                },
                                                name: "$a",
                                            },
                                        ),
                                        equals: Span {
                                            line: 66,
                                            column: 8,
                                            position: 1367,
                                        },
                                        right: Vec(
                                            VecExpression {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                vec: Span {
                                                    line: 66,
                                                    column: 10,
                                                    position: 1369,
                                                },
                                                left_bracket: Span {
                                                    line: 66,
                                                    column: 13,
                                                    position: 1372,
                                                },
                                                members: CommaSeparated {
                                                    inner: [
                                                        VecExpressionItem {
                                                            value: Variable(
                                                                Variable {
                                                                    span: Span {
                                                                        line: 66,
                                                                        column: 14,
                                                                        position: 1373,
                                                                    },
                                                                    name: "$dict1",
                                                                },
                                                            ),
                                                        },
                                                        VecExpressionItem {
                                                            value: Variable(
                                                                Variable {
                                                                    span: Span {
                                                                        line: 66,
                                                                        column: 22,
                                                                        position: 1381,
                                                                    },
                                                                    name: "$dict2",
                                                                },
                                                            ),
                                                        },
                                                    ],
                                                    commas: [
                                                        Span {
                                                            line: 66,
                                                            column: 20,
                                                            position: 1379,
                                                        },
                                                    ],
                                                },
                                                right_bracket: Span {
                                                    line: 66,
                                                    column: 28,
                                                    position: 1387,
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 66,
                                    column: 29,
                                    position: 1388,
                                },
                            },
                        ),
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 67,
                                                    column: 5,
                                                    position: 1394,
                                                },
                                                name: "$b",
                                            },
                                        ),
                                        equals: Span {
                                            line: 67,
                                            column: 8,
                                            position: 1397,
                                        },
                                        right: FunctionOperation(
                                            Call {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                function: Identifier(
                                                    Identifier {
                                                        span: Span {
                                                            line: 67,
                                                            column: 10,
                                                            position: 1399,
                                                        },
                                                        value: "into_dict",
                                                    },
                                                ),
                                                generics: Some(
                                                    GenericGroupExpression {
                                                        double_colon_less_than: Span {
                                                            line: 67,
                                                            column: 19,
                                                            position: 1408,
                                                        },
                                                        types: CommaSeparated {
                                                            inner: [
                                                                Integer(
                                                                    Span {
                                                                        line: 67,
                                                                        column: 22,
                                                                        position: 1411,
                                                                    },
                                                                ),
                                                                Dict(
                                                                    Span {
                                                                        line: 67,
                                                                        column: 27,
                                                                        position: 1416,
                                                                    },
                                                                    TypeTemplateGroupDefinition {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        less_than: Span {
                                                                            line: 67,
                                                                            column: 31,
                                                                            position: 1420,
                                                                        },
                                                                        members: CommaSeparated {
                                                                            inner: [
                                                                                Integer(
                                                                                    Span {
                                                                                        line: 67,
                                                                                        column: 32,
                                                                                        position: 1421,
                                                                                    },
                                                                                ),
                                                                                Integer(
                                                                                    Span {
                                                                                        line: 67,
                                                                                        column: 37,
                                                                                        position: 1426,
                                                                                    },
                                                                                ),
                                                                            ],
                                                                            commas: [
                                                                                Span {
                                                                                    line: 67,
                                                                                    column: 35,
                                                                                    position: 1424,
                                                                                },
                                                                            ],
                                                                        },
                                                                        greater_than: Span {
                                                                            line: 67,
                                                                            column: 40,
                                                                            position: 1429,
                                                                        },
                                                                    },
                                                                ),
                                                            ],
                                                            commas: [
                                                                Span {
                                                                    line: 67,
                                                                    column: 25,
                                                                    position: 1414,
                                                                },
                                                            ],
                                                        },
                                                        greater_than: Span {
                                                            line: 67,
                                                            column: 41,
                                                            position: 1430,
                                                        },
                                                    },
                                                ),
                                                arguments: ArgumentListExpression {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left_parenthesis: Span {
                                                        line: 67,
                                                        column: 42,
                                                        position: 1431,
                                                    },
                                                    arguments: CommaSeparated {
                                                        inner: [
                                                            Positional {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                ellipsis: None,
                                                                value: Variable(
                                                                    Variable {
                                                                        span: Span {
                                                                            line: 67,
                                                                            column: 43,
                                                                            position: 1432,
                                                                        },
                                                                        name: "$a",
                                                                    },
                                                                ),
                                                            },
                                                        ],
                                                        commas: [],
                                                    },
                                                    right_parenthesis: Span {
                                                        line: 67,
                                                        column: 45,
                                                        position: 1434,
                                                    },
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 67,
                                    column: 46,
                                    position: 1435,
                                },
                            },
                        ),
                        Expression(
                            ExpressionStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                expression: AssignmentOperation(
                                    Assignment {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left: Variable(
                                            Variable {
                                                span: Span {
                                                    line: 69,
                                                    column: 5,
                                                    position: 1442,
                                                },
                                                name: "$c",
                                            },
                                        ),
                                        equals: Span {
                                            line: 69,
                                            column: 8,
                                            position: 1445,
                                        },
                                        right: ClassOperation(
                                            Initialization {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                new: Span {
                                                    line: 69,
                                                    column: 10,
                                                    position: 1447,
                                                },
                                                class: Identifier {
                                                    span: Span {
                                                        line: 69,
                                                        column: 14,
                                                        position: 1451,
                                                    },
                                                    value: "Box",
                                                },
                                                generics: Some(
                                                    GenericGroupExpression {
                                                        double_colon_less_than: Span {
                                                            line: 69,
                                                            column: 17,
                                                            position: 1454,
                                                        },
                                                        types: CommaSeparated {
                                                            inner: [
                                                                Dict(
                                                                    Span {
                                                                        line: 69,
                                                                        column: 20,
                                                                        position: 1457,
                                                                    },
                                                                    TypeTemplateGroupDefinition {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        less_than: Span {
                                                                            line: 69,
                                                                            column: 24,
                                                                            position: 1461,
                                                                        },
                                                                        members: CommaSeparated {
                                                                            inner: [
                                                                                Integer(
                                                                                    Span {
                                                                                        line: 69,
                                                                                        column: 25,
                                                                                        position: 1462,
                                                                                    },
                                                                                ),
                                                                                Dict(
                                                                                    Span {
                                                                                        line: 69,
                                                                                        column: 30,
                                                                                        position: 1467,
                                                                                    },
                                                                                    TypeTemplateGroupDefinition {
                                                                                        comments: CommentGroup {
                                                                                            comments: [],
                                                                                        },
                                                                                        less_than: Span {
                                                                                            line: 69,
                                                                                            column: 34,
                                                                                            position: 1471,
                                                                                        },
                                                                                        members: CommaSeparated {
                                                                                            inner: [
                                                                                                Integer(
                                                                                                    Span {
                                                                                                        line: 69,
                                                                                                        column: 35,
                                                                                                        position: 1472,
                                                                                                    },
                                                                                                ),
                                                                                                Integer(
                                                                                                    Span {
                                                                                                        line: 69,
                                                                                                        column: 40,
                                                                                                        position: 1477,
                                                                                                    },
                                                                                                ),
                                                                                            ],
                                                                                            commas: [
                                                                                                Span {
                                                                                                    line: 69,
                                                                                                    column: 38,
                                                                                                    position: 1475,
                                                                                                },
                                                                                            ],
                                                                                        },
                                                                                        greater_than: Span {
                                                                                            line: 69,
                                                                                            column: 43,
                                                                                            position: 1480,
                                                                                        },
                                                                                    },
                                                                                ),
                                                                            ],
                                                                            commas: [
                                                                                Span {
                                                                                    line: 69,
                                                                                    column: 28,
                                                                                    position: 1465,
                                                                                },
                                                                            ],
                                                                        },
                                                                        greater_than: Span {
                                                                            line: 69,
                                                                            column: 44,
                                                                            position: 1481,
                                                                        },
                                                                    },
                                                                ),
                                                            ],
                                                            commas: [],
                                                        },
                                                        greater_than: Span {
                                                            line: 69,
                                                            column: 45,
                                                            position: 1482,
                                                        },
                                                    },
                                                ),
                                                arguments: ArgumentListExpression {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left_parenthesis: Span {
                                                        line: 69,
                                                        column: 46,
                                                        position: 1483,
                                                    },
                                                    arguments: CommaSeparated {
                                                        inner: [
                                                            Positional {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                ellipsis: None,
                                                                value: Variable(
                                                                    Variable {
                                                                        span: Span {
                                                                            line: 69,
                                                                            column: 47,
                                                                            position: 1484,
                                                                        },
                                                                        name: "$b",
                                                                    },
                                                                ),
                                                            },
                                                        ],
                                                        commas: [],
                                                    },
                                                    right_parenthesis: Span {
                                                        line: 69,
                                                        column: 49,
                                                        position: 1486,
                                                    },
                                                },
                                            },
                                        ),
                                    },
                                ),
                                semicolon: Span {
                                    line: 69,
                                    column: 50,
                                    position: 1487,
                                },
                            },
                        ),
                    ],
                    right_brace: Span {
                        line: 70,
                        column: 1,
                        position: 1489,
                    },
                },
            },
        ),
    ],
    eof: Span {
        line: 71,
        column: 1,
        position: 1491,
    },
}