[
    FullOpeningTag(
        Span(
            1,
            1,
        ),
    ),
    Function(
        Function {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span(
                3,
                1,
            ),
            ampersand: None,
            name: SimpleIdentifier {
                span: Span(
                    3,
                    10,
                ),
                value: "a",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    3,
                    11,
                ),
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span(
                    3,
                    12,
                ),
            },
            return_type: Some(
                ReturnType {
                    colon: Span(
                        3,
                        13,
                    ),
                    data_type: Null(
                        Span(
                            3,
                            15,
                        ),
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span(
                    3,
                    20,
                ),
                statements: [
                    Echo {
                        echo: Span(
                            4,
                            5,
                        ),
                        values: [
                            Literal(
                                String(
                                    LiteralString {
                                        value: "looping..\n",
                                        span: Span(
                                            4,
                                            10,
                                        ),
                                    },
                                ),
                            ),
                        ],
                        ending: Semicolon(
                            Span(
                                4,
                                23,
                            ),
                        ),
                    },
                    Return {
                        return: Span(
                            6,
                            5,
                        ),
                        value: Some(
                            Null,
                        ),
                        ending: Semicolon(
                            Span(
                                6,
                                16,
                            ),
                        ),
                    },
                ],
                right_brace: Span(
                    7,
                    1,
                ),
            },
        },
    ),
    Expression {
        expression: AssignmentOperation(
            Assign {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                9,
                                1,
                            ),
                            name: "bar",
                        },
                    ),
                ),
                equals: Span(
                    9,
                    6,
                ),
                right: FunctionClosureCreation {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span(
                                    9,
                                    8,
                                ),
                                value: "a",
                            },
                        ),
                    ),
                    placeholder: ArgumentPlaceholder {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span(
                            9,
                            9,
                        ),
                        ellipsis: Span(
                            9,
                            10,
                        ),
                        right_parenthesis: Span(
                            9,
                            13,
                        ),
                    },
                },
            },
        ),
        ending: Semicolon(
            Span(
                9,
                14,
            ),
        ),
    },
    GotoLabel(
        GotoLabel {
            comments: CommentGroup {
                comments: [],
            },
            label: SimpleIdentifier {
                span: Span(
                    11,
                    1,
                ),
                value: "foo",
            },
            colon: Span(
                11,
                4,
            ),
        },
    ),
    Expression {
        expression: FunctionCall {
            target: Variable(
                SimpleVariable(
                    SimpleVariable {
                        span: Span(
                            12,
                            5,
                        ),
                        name: "bar",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    12,
                    9,
                ),
                arguments: [],
                right_parenthesis: Span(
                    12,
                    10,
                ),
            },
        },
        ending: Semicolon(
            Span(
                12,
                11,
            ),
        ),
    },
    Goto(
        GotoStatement {
            comments: CommentGroup {
                comments: [],
            },
            keyword: Span(
                13,
                5,
            ),
            label: SimpleIdentifier {
                span: Span(
                    13,
                    10,
                ),
                value: "foo",
            },
            semicolon: Span(
                13,
                13,
            ),
        },
    ),
]
