[
    FullOpeningTag(
        Span {
            line: 1,
            column: 1,
            position: 0,
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 3,
                column: 1,
                position: 7,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 3,
                    column: 10,
                    position: 16,
                },
                value: "foo",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 3,
                    column: 13,
                    position: 19,
                },
                parameters: CommaSeparated {
                    inner: [
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span {
                                    line: 3,
                                    column: 21,
                                    position: 27,
                                },
                                name: "$a",
                            },
                            attributes: [],
                            data_type: Some(
                                String(
                                    Span {
                                        line: 3,
                                        column: 14,
                                        position: 20,
                                    },
                                ),
                            ),
                            ellipsis: None,
                            default: Some(
                                Literal(
                                    String(
                                        LiteralString {
                                            value: """",
                                            span: Span {
                                                line: 3,
                                                column: 26,
                                                position: 32,
                                            },
                                        },
                                    ),
                                ),
                            ),
                            ampersand: None,
                        },
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span {
                                    line: 3,
                                    column: 36,
                                    position: 42,
                                },
                                name: "$b",
                            },
                            attributes: [],
                            data_type: Some(
                                Array(
                                    Span {
                                        line: 3,
                                        column: 30,
                                        position: 36,
                                    },
                                ),
                            ),
                            ellipsis: None,
                            default: Some(
                                ShortArray {
                                    start: Span {
                                        line: 3,
                                        column: 41,
                                        position: 47,
                                    },
                                    items: CommaSeparated {
                                        inner: [],
                                        commas: [],
                                    },
                                    end: Span {
                                        line: 3,
                                        column: 42,
                                        position: 48,
                                    },
                                },
                            ),
                            ampersand: None,
                        },
                    ],
                    commas: [
                        Span {
                            line: 3,
                            column: 28,
                            position: 34,
                        },
                    ],
                },
                right_parenthesis: Span {
                    line: 3,
                    column: 43,
                    position: 49,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 3,
                        column: 44,
                        position: 50,
                    },
                    data_type: Never(
                        Span {
                            line: 3,
                            column: 46,
                            position: 52,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 3,
                    column: 52,
                    position: 58,
                },
                statements: [
                    Expression(
                        ExpressionStatement {
                            expression: Exit {
                                exit: Span {
                                    line: 4,
                                    column: 5,
                                    position: 64,
                                },
                                argument: Some(
                                    SingleArgument {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left_parenthesis: Span {
                                            line: 4,
                                            column: 9,
                                            position: 68,
                                        },
                                        argument: Positional {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            ellipsis: None,
                                            value: Literal(
                                                Integer(
                                                    LiteralInteger {
                                                        value: "1",
                                                        span: Span {
                                                            line: 4,
                                                            column: 10,
                                                            position: 69,
                                                        },
                                                    },
                                                ),
                                            ),
                                        },
                                        right_parenthesis: Span {
                                            line: 4,
                                            column: 11,
                                            position: 70,
                                        },
                                    },
                                ),
                            },
                            ending: Semicolon(
                                Span {
                                    line: 4,
                                    column: 12,
                                    position: 71,
                                },
                            ),
                        },
                    ),
                ],
                right_brace: Span {
                    line: 5,
                    column: 1,
                    position: 73,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 7,
                column: 1,
                position: 76,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 7,
                    column: 10,
                    position: 85,
                },
                value: "bar",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 7,
                    column: 13,
                    position: 88,
                },
                parameters: CommaSeparated {
                    inner: [
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span {
                                    line: 7,
                                    column: 18,
                                    position: 93,
                                },
                                name: "$a",
                            },
                            attributes: [],
                            data_type: Some(
                                Integer(
                                    Span {
                                        line: 7,
                                        column: 14,
                                        position: 89,
                                    },
                                ),
                            ),
                            ellipsis: None,
                            default: None,
                            ampersand: None,
                        },
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span {
                                    line: 7,
                                    column: 28,
                                    position: 103,
                                },
                                name: "$b",
                            },
                            attributes: [],
                            data_type: Some(
                                Float(
                                    Span {
                                        line: 7,
                                        column: 22,
                                        position: 97,
                                    },
                                ),
                            ),
                            ellipsis: None,
                            default: None,
                            ampersand: None,
                        },
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span {
                                    line: 7,
                                    column: 39,
                                    position: 114,
                                },
                                name: "$c",
                            },
                            attributes: [],
                            data_type: Some(
                                String(
                                    Span {
                                        line: 7,
                                        column: 32,
                                        position: 107,
                                    },
                                ),
                            ),
                            ellipsis: None,
                            default: None,
                            ampersand: None,
                        },
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span {
                                    line: 7,
                                    column: 48,
                                    position: 123,
                                },
                                name: "$d",
                            },
                            attributes: [],
                            data_type: Some(
                                True(
                                    Span {
                                        line: 7,
                                        column: 43,
                                        position: 118,
                                    },
                                ),
                            ),
                            ellipsis: None,
                            default: None,
                            ampersand: None,
                        },
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span {
                                    line: 7,
                                    column: 58,
                                    position: 133,
                                },
                                name: "$e",
                            },
                            attributes: [],
                            data_type: Some(
                                False(
                                    Span {
                                        line: 7,
                                        column: 52,
                                        position: 127,
                                    },
                                ),
                            ),
                            ellipsis: None,
                            default: None,
                            ampersand: None,
                        },
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span {
                                    line: 7,
                                    column: 67,
                                    position: 142,
                                },
                                name: "$f",
                            },
                            attributes: [],
                            data_type: Some(
                                Null(
                                    Span {
                                        line: 7,
                                        column: 62,
                                        position: 137,
                                    },
                                ),
                            ),
                            ellipsis: None,
                            default: None,
                            ampersand: None,
                        },
                    ],
                    commas: [
                        Span {
                            line: 7,
                            column: 20,
                            position: 95,
                        },
                        Span {
                            line: 7,
                            column: 30,
                            position: 105,
                        },
                        Span {
                            line: 7,
                            column: 41,
                            position: 116,
                        },
                        Span {
                            line: 7,
                            column: 50,
                            position: 125,
                        },
                        Span {
                            line: 7,
                            column: 60,
                            position: 135,
                        },
                    ],
                },
                right_parenthesis: Span {
                    line: 7,
                    column: 69,
                    position: 144,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 7,
                        column: 70,
                        position: 145,
                    },
                    data_type: Union(
                        [
                            Null(
                                Span {
                                    line: 7,
                                    column: 72,
                                    position: 147,
                                },
                            ),
                            String(
                                Span {
                                    line: 7,
                                    column: 77,
                                    position: 152,
                                },
                            ),
                            Integer(
                                Span {
                                    line: 7,
                                    column: 84,
                                    position: 159,
                                },
                            ),
                            Float(
                                Span {
                                    line: 7,
                                    column: 88,
                                    position: 163,
                                },
                            ),
                        ],
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 7,
                    column: 94,
                    position: 169,
                },
                statements: [
                    Return(
                        ReturnStatement {
                            return: Span {
                                line: 8,
                                column: 5,
                                position: 175,
                            },
                            value: Some(
                                Null,
                            ),
                            ending: Semicolon(
                                Span {
                                    line: 8,
                                    column: 16,
                                    position: 186,
                                },
                            ),
                        },
                    ),
                ],
                right_brace: Span {
                    line: 9,
                    column: 1,
                    position: 188,
                },
            },
        },
    ),
]
