└── root (kind: SyntaxFile)
    ├── items (kind: ItemList)
    │   ├── child #0 (kind: FunctionWithBody)
    │   │   ├── attributes (kind: AttributeList) []
    │   │   ├── declaration (kind: FunctionDeclaration)
    │   │   │   ├── function_kw (kind: TerminalFunction)
    │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │   │   │   ├── token (kind: TokenFunction): 'fn'
    │   │   │   │   └── trailing_trivia (kind: Trivia)
    │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │   │   ├── name (kind: TerminalIdentifier)
    │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │   │   │   ├── token (kind: TokenIdentifier): 'foo'
    │   │   │   │   └── trailing_trivia (kind: Trivia)
    │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │   │   ├── generic_params (kind: OptionWrappedGenericParamListEmpty) []
    │   │   │   └── signature (kind: FunctionSignature)
    │   │   │       ├── lparen (kind: TerminalLParen)
    │   │   │       │   ├── leading_trivia (kind: Trivia) []
    │   │   │       │   ├── token (kind: TokenLParen): '('
    │   │   │       │   └── trailing_trivia (kind: Trivia) []
    │   │   │       ├── parameters (kind: ParamList)
    │   │   │       │   └── item #0 (kind: Param)
    │   │   │       │       ├── modifiers (kind: ModifierList) []
    │   │   │       │       ├── name (kind: TerminalIdentifier)
    │   │   │       │       │   ├── leading_trivia (kind: Trivia) []
    │   │   │       │       │   ├── token (kind: TokenIdentifier): 'x'
    │   │   │       │       │   └── trailing_trivia (kind: Trivia) []
    │   │   │       │       └── type_clause (kind: TypeClause)
    │   │   │       │           ├── colon (kind: TerminalColon)
    │   │   │       │           │   ├── leading_trivia (kind: Trivia) []
    │   │   │       │           │   ├── token (kind: TokenColon): ':'
    │   │   │       │           │   └── trailing_trivia (kind: Trivia) []
    │   │   │       │           └── ty (kind: ExprPath)
    │   │   │       │               └── item #0 (kind: PathSegmentSimple)
    │   │   │       │                   └── ident (kind: TerminalIdentifier)
    │   │   │       │                       ├── leading_trivia (kind: Trivia) []
    │   │   │       │                       ├── token (kind: TokenIdentifier): 'T'
    │   │   │       │                       └── trailing_trivia (kind: Trivia) []
    │   │   │       ├── rparen (kind: TerminalRParen)
    │   │   │       │   ├── leading_trivia (kind: Trivia) []
    │   │   │       │   ├── token (kind: TokenRParen): ')'
    │   │   │       │   └── trailing_trivia (kind: Trivia)
    │   │   │       │       └── child #0 (kind: TokenWhitespace).
    │   │   │       ├── ret_ty (kind: ReturnTypeClause)
    │   │   │       │   ├── arrow (kind: TerminalArrow)
    │   │   │       │   │   ├── leading_trivia (kind: Trivia) []
    │   │   │       │   │   ├── token (kind: TokenArrow): '->'
    │   │   │       │   │   └── trailing_trivia (kind: Trivia)
    │   │   │       │   │       └── child #0 (kind: TokenWhitespace).
    │   │   │       │   └── ty (kind: ExprPath)
    │   │   │       │       └── item #0 (kind: PathSegmentSimple)
    │   │   │       │           └── ident (kind: TerminalIdentifier)
    │   │   │       │               ├── leading_trivia (kind: Trivia) []
    │   │   │       │               ├── token (kind: TokenIdentifier): 'S'
    │   │   │       │               └── trailing_trivia (kind: Trivia)
    │   │   │       │                   └── child #0 (kind: TokenNewline).
    │   │   │       ├── implicits_clause (kind: OptionImplicitsClauseEmpty) []
    │   │   │       └── optional_no_panic (kind: OptionTerminalNoPanicEmpty) []
    │   │   └── body (kind: ExprBlock)
    │   │       ├── lbrace (kind: TerminalLBrace)
    │   │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │   ├── token (kind: TokenLBrace): '{'
    │   │       │   └── trailing_trivia (kind: Trivia)
    │   │       │       └── child #0 (kind: TokenNewline).
    │   │       ├── statements (kind: StatementList)
    │   │       │   ├── child #0 (kind: StatementLet)
    │   │       │   │   ├── let_kw (kind: TerminalLet)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia)
    │   │       │   │   │   │   └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── token (kind: TokenLet): 'let'
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── pattern (kind: ExprPath)
    │   │       │   │   │   └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           ├── token (kind: TokenIdentifier): 'x'
    │   │       │   │   │           └── trailing_trivia (kind: Trivia)
    │   │       │   │   │               └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── type_clause (kind: OptionTypeClauseEmpty) []
    │   │       │   │   ├── eq (kind: TerminalEq)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   ├── token (kind: TokenEq): '='
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── rhs (kind: ExprBinary)
    │   │       │   │   │   ├── lhs (kind: ExprUnary)
    │   │       │   │   │   │   ├── op (kind: TerminalMinus)
    │   │       │   │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   │   ├── token (kind: TokenMinus): '-'
    │   │       │   │   │   │   │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │   │   └── expr (kind: TerminalLiteralNumber)
    │   │       │   │   │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │       ├── token (kind: TokenLiteralNumber): '5'
    │   │       │   │   │   │       └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │           └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── op (kind: TerminalPlus)
    │   │       │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   ├── token (kind: TokenPlus): '+'
    │   │       │   │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   └── rhs (kind: TerminalLiteralNumber)
    │   │       │   │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │       ├── token (kind: TokenLiteralNumber): '3'
    │   │       │   │   │       └── trailing_trivia (kind: Trivia) []
    │   │       │   │   └── semicolon (kind: TerminalSemicolon)
    │   │       │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │       ├── token (kind: TokenSemicolon): ';'
    │   │       │   │       └── trailing_trivia (kind: Trivia)
    │   │       │   │           └── child #0 (kind: TokenNewline).
    │   │       │   ├── child #1 (kind: StatementLet)
    │   │       │   │   ├── let_kw (kind: TerminalLet)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia)
    │   │       │   │   │   │   └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── token (kind: TokenLet): 'let'
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── pattern (kind: ExprPath)
    │   │       │   │   │   └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           ├── token (kind: TokenIdentifier): 'y'
    │   │       │   │   │           └── trailing_trivia (kind: Trivia)
    │   │       │   │   │               └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── type_clause (kind: TypeClause)
    │   │       │   │   │   ├── colon (kind: TerminalColon)
    │   │       │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   ├── token (kind: TokenColon): ':'
    │   │       │   │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   └── ty (kind: ExprPath)
    │   │       │   │   │       └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │           └── ident (kind: TerminalIdentifier)
    │   │       │   │   │               ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │               ├── token (kind: TokenIdentifier): 'T'
    │   │       │   │   │               └── trailing_trivia (kind: Trivia)
    │   │       │   │   │                   └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── eq (kind: TerminalEq)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   ├── token (kind: TokenEq): '='
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── rhs (kind: ExprBinary)
    │   │       │   │   │   ├── lhs (kind: ExprBinary)
    │   │       │   │   │   │   ├── lhs (kind: ExprPath)
    │   │       │   │   │   │   │   └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │   │   │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   │           ├── token (kind: TokenIdentifier): 'x'
    │   │       │   │   │   │   │           └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │   │   ├── op (kind: TerminalMul)
    │   │       │   │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   │   ├── token (kind: TokenMul): '*'
    │   │       │   │   │   │   │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │   │   └── rhs (kind: TerminalLiteralNumber)
    │   │       │   │   │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │       ├── token (kind: TokenLiteralNumber): '2'
    │   │       │   │   │   │       └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │           └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── op (kind: TerminalPlus)
    │   │       │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   ├── token (kind: TokenPlus): '+'
    │   │       │   │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   └── rhs (kind: ExprBinary)
    │   │       │   │   │       ├── lhs (kind: TerminalLiteralNumber)
    │   │       │   │   │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │       │   ├── token (kind: TokenLiteralNumber): '3'
    │   │       │   │   │       │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │       ├── op (kind: TerminalMul)
    │   │       │   │   │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │       │   ├── token (kind: TokenMul): '*'
    │   │       │   │   │       │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │       └── rhs (kind: TerminalLiteralNumber)
    │   │       │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           ├── token (kind: TokenLiteralNumber): '5'
    │   │       │   │   │           └── trailing_trivia (kind: Trivia) []
    │   │       │   │   └── semicolon (kind: TerminalSemicolon)
    │   │       │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │       ├── token (kind: TokenSemicolon): ';'
    │   │       │   │       └── trailing_trivia (kind: Trivia)
    │   │       │   │           ├── child #0 (kind: TokenWhitespace).
    │   │       │   │           ├── child #1 (kind: TokenSingleLineComment): '// Comment.'
    │   │       │   │           └── child #2 (kind: TokenNewline).
    │   │       │   ├── child #2 (kind: StatementLet)
    │   │       │   │   ├── let_kw (kind: TerminalLet)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia)
    │   │       │   │   │   │   └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── token (kind: TokenLet): 'let'
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── pattern (kind: ExprPath)
    │   │       │   │   │   └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           ├── token (kind: TokenIdentifier): 'z'
    │   │       │   │   │           └── trailing_trivia (kind: Trivia)
    │   │       │   │   │               └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── type_clause (kind: OptionTypeClauseEmpty) []
    │   │       │   │   ├── eq (kind: TerminalEq)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   ├── token (kind: TokenEq): '='
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── rhs: Missing []
    │   │       │   │   └── semicolon (kind: TerminalSemicolon)
    │   │       │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │       ├── token (kind: TokenSemicolon): ';'
    │   │       │   │       └── trailing_trivia (kind: Trivia)
    │   │       │   │           └── child #0 (kind: TokenNewline).
    │   │       │   ├── child #3 (kind: StatementLet)
    │   │       │   │   ├── let_kw (kind: TerminalLet)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia)
    │   │       │   │   │   │   └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── token (kind: TokenLet): 'let'
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── pattern (kind: ExprPath)
    │   │       │   │   │   └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           ├── token (kind: TokenIdentifier): 'v'
    │   │       │   │   │           └── trailing_trivia (kind: Trivia)
    │   │       │   │   │               └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── type_clause (kind: OptionTypeClauseEmpty) []
    │   │       │   │   ├── eq (kind: TerminalEq)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   ├── token (kind: TokenEq): '='
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── rhs (kind: ExprBinary)
    │   │       │   │   │   ├── lhs (kind: ExprPath)
    │   │       │   │   │   │   ├── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │   │   │   └── ident (kind: TerminalIdentifier)
    │   │       │   │   │   │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   │       ├── token (kind: TokenIdentifier): 'bool'
    │   │       │   │   │   │   │       └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │   │   ├── separator #0 (kind: TerminalColonColon)
    │   │       │   │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   │   ├── token (kind: TokenColonColon): '::'
    │   │       │   │   │   │   │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │   │   └── item #1 (kind: PathSegmentSimple)
    │   │       │   │   │   │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │           ├── token (kind: TokenIdentifier): 'True'
    │   │       │   │   │   │           └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │               └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── op (kind: TerminalEqEq)
    │   │       │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   ├── token (kind: TokenEqEq): '=='
    │   │       │   │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   └── rhs (kind: TerminalFalse)
    │   │       │   │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │       ├── token (kind: TokenFalse): 'false'
    │   │       │   │   │       └── trailing_trivia (kind: Trivia) []
    │   │       │   │   └── semicolon (kind: TerminalSemicolon)
    │   │       │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │       ├── token (kind: TokenSemicolon): ';'
    │   │       │   │       └── trailing_trivia (kind: Trivia)
    │   │       │   │           └── child #0 (kind: TokenNewline).
    │   │       │   ├── child #4 (kind: StatementExpr)
    │   │       │   │   ├── expr (kind: ExprBinary)
    │   │       │   │   │   ├── lhs (kind: TerminalLiteralNumber)
    │   │       │   │   │   │   ├── leading_trivia (kind: Trivia)
    │   │       │   │   │   │   │   └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   │   ├── token (kind: TokenLiteralNumber): '5'
    │   │       │   │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── op (kind: TerminalPlus)
    │   │       │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │   │   ├── token (kind: TokenPlus): '+'
    │   │       │   │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   └── rhs (kind: ExprStructCtorCall)
    │   │       │   │   │       ├── path (kind: ExprPath)
    │   │       │   │   │       │   └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │       │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │       │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │       │           ├── token (kind: TokenIdentifier): 'Struct'
    │   │       │   │   │       │           └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │       └── arguments (kind: StructArgListBraced)
    │   │       │   │   │           ├── lbrace (kind: TerminalLBrace)
    │   │       │   │   │           │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │   ├── token (kind: TokenLBrace): '{'
    │   │       │   │   │           │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           ├── arguments (kind: StructArgList)
    │   │       │   │   │           │   ├── item #0 (kind: StructArgSingle)
    │   │       │   │   │           │   │   ├── identifier (kind: TerminalIdentifier)
    │   │       │   │   │           │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │   │   │   ├── token (kind: TokenIdentifier): 'a'
    │   │       │   │   │           │   │   │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           │   │   └── arg_expr (kind: StructArgExpr)
    │   │       │   │   │           │   │       ├── colon (kind: TerminalColon)
    │   │       │   │   │           │   │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │   │       │   ├── token (kind: TokenColon): ':'
    │   │       │   │   │           │   │       │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │           │   │       │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │           │   │       └── expr (kind: TerminalLiteralNumber)
    │   │       │   │   │           │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │   │           ├── token (kind: TokenLiteralNumber): '5'
    │   │       │   │   │           │   │           └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           │   ├── separator #0 (kind: TerminalComma)
    │   │       │   │   │           │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │   │   ├── token (kind: TokenComma): ','
    │   │       │   │   │           │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │           │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │           │   └── item #1 (kind: StructArgSingle)
    │   │       │   │   │           │       ├── identifier (kind: TerminalIdentifier)
    │   │       │   │   │           │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │       │   ├── token (kind: TokenIdentifier): 'b'
    │   │       │   │   │           │       │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           │       └── arg_expr (kind: StructArgExpr)
    │   │       │   │   │           │           ├── colon (kind: TerminalColon)
    │   │       │   │   │           │           │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │           │   ├── token (kind: TokenColon): ':'
    │   │       │   │   │           │           │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │           │           │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │           │           └── expr (kind: ExprStructCtorCall)
    │   │       │   │   │           │               ├── path (kind: ExprPath)
    │   │       │   │   │           │               │   └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │           │               │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │           │               │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │               │           ├── token (kind: TokenIdentifier): 'Struct2'
    │   │       │   │   │           │               │           └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           │               └── arguments (kind: StructArgListBraced)
    │   │       │   │   │           │                   ├── lbrace (kind: TerminalLBrace)
    │   │       │   │   │           │                   │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │                   │   ├── token (kind: TokenLBrace): '{'
    │   │       │   │   │           │                   │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           │                   ├── arguments (kind: StructArgList)
    │   │       │   │   │           │                   │   └── item #0 (kind: StructArgSingle)
    │   │       │   │   │           │                   │       ├── identifier (kind: TerminalIdentifier)
    │   │       │   │   │           │                   │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │                   │       │   ├── token (kind: TokenIdentifier): '_gg'
    │   │       │   │   │           │                   │       │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           │                   │       └── arg_expr (kind: StructArgExpr)
    │   │       │   │   │           │                   │           ├── colon (kind: TerminalColon)
    │   │       │   │   │           │                   │           │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │                   │           │   ├── token (kind: TokenColon): ':'
    │   │       │   │   │           │                   │           │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │           │                   │           │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │           │                   │           └── expr (kind: ExprListParenthesized)
    │   │       │   │   │           │                   │               ├── lparen (kind: TerminalLParen)
    │   │       │   │   │           │                   │               │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │                   │               │   ├── token (kind: TokenLParen): '('
    │   │       │   │   │           │                   │               │   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           │                   │               ├── expressions (kind: ExprList) []
    │   │       │   │   │           │                   │               └── rparen (kind: TerminalRParen)
    │   │       │   │   │           │                   │                   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │                   │                   ├── token (kind: TokenRParen): ')'
    │   │       │   │   │           │                   │                   └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           │                   └── rbrace (kind: TerminalRBrace)
    │   │       │   │   │           │                       ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           │                       ├── token (kind: TokenRBrace): '}'
    │   │       │   │   │           │                       └── trailing_trivia (kind: Trivia) []
    │   │       │   │   │           └── rbrace (kind: TerminalRBrace)
    │   │       │   │   │               ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │               ├── token (kind: TokenRBrace): '}'
    │   │       │   │   │               └── trailing_trivia (kind: Trivia) []
    │   │       │   │   └── semicolon (kind: TerminalSemicolon)
    │   │       │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │       ├── token (kind: TokenSemicolon): ';'
    │   │       │   │       └── trailing_trivia (kind: Trivia)
    │   │       │   │           └── child #0 (kind: TokenNewline).
    │   │       │   ├── child #5 (kind: StatementReturn)
    │   │       │   │   ├── return_kw (kind: TerminalReturn)
    │   │       │   │   │   ├── leading_trivia (kind: Trivia)
    │   │       │   │   │   │   └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │   ├── token (kind: TokenReturn): 'return'
    │   │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   ├── expr_clause (kind: ExprClause)
    │   │       │   │   │   └── expr (kind: ExprBinary)
    │   │       │   │   │       ├── lhs (kind: ExprPath)
    │   │       │   │   │       │   └── item #0 (kind: PathSegmentSimple)
    │   │       │   │   │       │       └── ident (kind: TerminalIdentifier)
    │   │       │   │   │       │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │       │           ├── token (kind: TokenIdentifier): 'df'
    │   │       │   │   │       │           └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       │               └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │       ├── op (kind: TerminalEqEq)
    │   │       │   │   │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │       │   ├── token (kind: TokenEqEq): '=='
    │   │       │   │   │       │   └── trailing_trivia (kind: Trivia)
    │   │       │   │   │       │       └── child #0 (kind: TokenWhitespace).
    │   │       │   │   │       └── rhs (kind: TerminalLiteralNumber)
    │   │       │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │   │   │           ├── token (kind: TokenLiteralNumber): '6'
    │   │       │   │   │           └── trailing_trivia (kind: Trivia) []
    │   │       │   │   └── semicolon (kind: TerminalSemicolon)
    │   │       │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │   │       ├── token (kind: TokenSemicolon): ';'
    │   │       │   │       └── trailing_trivia (kind: Trivia)
    │   │       │   │           └── child #0 (kind: TokenNewline).
    │   │       │   └── child #6 (kind: StatementExpr)
    │   │       │       ├── expr (kind: ExprBinary)
    │   │       │       │   ├── lhs (kind: ExprPath)
    │   │       │       │   │   └── item #0 (kind: PathSegmentSimple)
    │   │       │       │   │       └── ident (kind: TerminalIdentifier)
    │   │       │       │   │           ├── leading_trivia (kind: Trivia)
    │   │       │       │   │           │   └── child #0 (kind: TokenWhitespace).
    │   │       │       │   │           ├── token (kind: TokenIdentifier): 'x'
    │   │       │       │   │           └── trailing_trivia (kind: Trivia)
    │   │       │       │   │               └── child #0 (kind: TokenWhitespace).
    │   │       │       │   ├── op (kind: TerminalPlus)
    │   │       │       │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │       │   │   ├── token (kind: TokenPlus): '+'
    │   │       │       │   │   └── trailing_trivia (kind: Trivia)
    │   │       │       │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │       │   └── rhs (kind: ExprPath)
    │   │       │       │       └── item #0 (kind: PathSegmentSimple)
    │   │       │       │           └── ident (kind: TerminalIdentifier)
    │   │       │       │               ├── leading_trivia (kind: Trivia) []
    │   │       │       │               ├── token (kind: TokenIdentifier): 'y'
    │   │       │       │               └── trailing_trivia (kind: Trivia)
    │   │       │       │                   └── child #0 (kind: TokenNewline).
    │   │       │       └── semicolon (kind: OptionTerminalSemicolonEmpty) []
    │   │       └── rbrace (kind: TerminalRBrace)
    │   │           ├── leading_trivia (kind: Trivia) []
    │   │           ├── token (kind: TokenRBrace): '}'
    │   │           └── trailing_trivia (kind: Trivia)
    │   │               └── child #0 (kind: TokenNewline).
    │   ├── child #1 (kind: ItemImpl)
    │   │   ├── attributes (kind: AttributeList) []
    │   │   ├── impl_kw (kind: TerminalImpl)
    │   │   │   ├── leading_trivia (kind: Trivia)
    │   │   │   │   └── child #0 (kind: TokenNewline).
    │   │   │   ├── token (kind: TokenImpl): 'impl'
    │   │   │   └── trailing_trivia (kind: Trivia)
    │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │   ├── name (kind: TerminalIdentifier)
    │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │   │   ├── token (kind: TokenIdentifier): 'A'
    │   │   │   └── trailing_trivia (kind: Trivia)
    │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │   ├── generic_params (kind: OptionWrappedGenericParamListEmpty) []
    │   │   ├── of_kw (kind: TerminalOf)
    │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │   │   ├── token (kind: TokenOf): 'of'
    │   │   │   └── trailing_trivia (kind: Trivia)
    │   │   │       └── child #0 (kind: TokenWhitespace).
    │   │   ├── trait_path (kind: ExprPath)
    │   │   │   └── item #0 (kind: PathSegmentSimple)
    │   │   │       └── ident (kind: TerminalIdentifier)
    │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │   │           ├── token (kind: TokenIdentifier): 'B'
    │   │   │           └── trailing_trivia (kind: Trivia)
    │   │   │               └── child #0 (kind: TokenWhitespace).
    │   │   └── body (kind: ImplBody)
    │   │       ├── lbrace (kind: TerminalLBrace)
    │   │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │   ├── token (kind: TokenLBrace): '{'
    │   │       │   └── trailing_trivia (kind: Trivia)
    │   │       │       └── child #0 (kind: TokenNewline).
    │   │       ├── items (kind: ImplItemList)
    │   │       │   └── child #0 (kind: FunctionWithBody)
    │   │       │       ├── attributes (kind: AttributeList) []
    │   │       │       ├── declaration (kind: FunctionDeclaration)
    │   │       │       │   ├── function_kw (kind: TerminalFunction)
    │   │       │       │   │   ├── leading_trivia (kind: Trivia)
    │   │       │       │   │   │   └── child #0 (kind: TokenWhitespace).
    │   │       │       │   │   ├── token (kind: TokenFunction): 'fn'
    │   │       │       │   │   └── trailing_trivia (kind: Trivia)
    │   │       │       │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │       │   ├── name (kind: TerminalIdentifier)
    │   │       │       │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │       │   │   ├── token (kind: TokenIdentifier): 'foo'
    │   │       │       │   │   └── trailing_trivia (kind: Trivia) []
    │   │       │       │   ├── generic_params (kind: OptionWrappedGenericParamListEmpty) []
    │   │       │       │   └── signature (kind: FunctionSignature)
    │   │       │       │       ├── lparen (kind: TerminalLParen)
    │   │       │       │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │       │       │   ├── token (kind: TokenLParen): '('
    │   │       │       │       │   └── trailing_trivia (kind: Trivia) []
    │   │       │       │       ├── parameters (kind: ParamList) []
    │   │       │       │       ├── rparen (kind: TerminalRParen)
    │   │       │       │       │   ├── leading_trivia (kind: Trivia) []
    │   │       │       │       │   ├── token (kind: TokenRParen): ')'
    │   │       │       │       │   └── trailing_trivia (kind: Trivia)
    │   │       │       │       │       └── child #0 (kind: TokenWhitespace).
    │   │       │       │       ├── ret_ty (kind: OptionReturnTypeClauseEmpty) []
    │   │       │       │       ├── implicits_clause (kind: OptionImplicitsClauseEmpty) []
    │   │       │       │       └── optional_no_panic (kind: OptionTerminalNoPanicEmpty) []
    │   │       │       └── body (kind: ExprBlock)
    │   │       │           ├── lbrace (kind: TerminalLBrace)
    │   │       │           │   ├── leading_trivia (kind: Trivia) []
    │   │       │           │   ├── token (kind: TokenLBrace): '{'
    │   │       │           │   └── trailing_trivia (kind: Trivia)
    │   │       │           │       └── child #0 (kind: TokenNewline).
    │   │       │           ├── statements (kind: StatementList)
    │   │       │           │   └── child #0 (kind: StatementExpr)
    │   │       │           │       ├── expr (kind: ExprIf)
    │   │       │           │       │   ├── if_kw (kind: TerminalIf)
    │   │       │           │       │   │   ├── leading_trivia (kind: Trivia)
    │   │       │           │       │   │   │   └── child #0 (kind: TokenWhitespace).
    │   │       │           │       │   │   ├── token (kind: TokenIf): 'if'
    │   │       │           │       │   │   └── trailing_trivia (kind: Trivia)
    │   │       │           │       │   │       └── child #0 (kind: TokenWhitespace).
    │   │       │           │       │   ├── condition (kind: ExprBinary)
    │   │       │           │       │   │   ├── lhs (kind: ExprPath)
    │   │       │           │       │   │   │   └── item #0 (kind: PathSegmentSimple)
    │   │       │           │       │   │   │       └── ident (kind: TerminalIdentifier)
    │   │       │           │       │   │   │           ├── leading_trivia (kind: Trivia) []
    │   │       │           │       │   │   │           ├── token (kind: TokenIdentifier): 'bla'
    │   │       │           │       │   │   │           └── trailing_trivia (kind: Trivia) []
    │   │       │           │       │   │   ├── op (kind: TerminalDot)
    │   │       │           │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │           │       │   │   │   ├── token (kind: TokenDot): '.'
    │   │       │           │       │   │   │   └── trailing_trivia (kind: Trivia)
    │   │       │           │       │   │   │       ├── child #0 (kind: TokenWhitespace).
    │   │       │           │       │   │   │       └── child #1 (kind: TokenNewline).
    │   │       │           │       │   │   └── rhs: Missing []
    │   │       │           │       │   ├── if_block (kind: ExprBlock)
    │   │       │           │       │   │   ├── lbrace (kind: TerminalLBrace)
    │   │       │           │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │   │       │           │       │   │   │   ├── token: Missing
    │   │       │           │       │   │   │   └── trailing_trivia (kind: Trivia) []
    │   │       │           │       │   │   ├── statements (kind: StatementList) []
    │   │       │           │       │   │   └── rbrace (kind: TerminalRBrace)
    │   │       │           │       │   │       ├── leading_trivia (kind: Trivia) []
    │   │       │           │       │   │       ├── token: Missing
    │   │       │           │       │   │       └── trailing_trivia (kind: Trivia) []
    │   │       │           │       │   └── else_clause (kind: OptionElseClauseEmpty) []
    │   │       │           │       └── semicolon (kind: OptionTerminalSemicolonEmpty) []
    │   │       │           └── rbrace (kind: TerminalRBrace)
    │   │       │               ├── leading_trivia (kind: Trivia)
    │   │       │               │   ├── child #0 (kind: TokenWhitespace).
    │   │       │               │   ├── child #1 (kind: TokenSingleLineComment): '// The module below should parse correctly, not inside this impl.'
    │   │       │               │   ├── child #2 (kind: TokenNewline).
    │   │       │               │   └── child #3 (kind: TokenWhitespace).
    │   │       │               ├── token (kind: TokenRBrace): '}'
    │   │       │               └── trailing_trivia (kind: Trivia)
    │   │       │                   └── child #0 (kind: TokenNewline).
    │   │       └── rbrace (kind: TerminalRBrace)
    │   │           ├── leading_trivia (kind: Trivia) []
    │   │           ├── token (kind: TokenRBrace): '}'
    │   │           └── trailing_trivia (kind: Trivia)
    │   │               └── child #0 (kind: TokenNewline).
    │   └── child #2 (kind: ItemModule)
    │       ├── attributes (kind: AttributeList) []
    │       ├── module_kw (kind: TerminalModule)
    │       │   ├── leading_trivia (kind: Trivia)
    │       │   │   └── child #0 (kind: TokenNewline).
    │       │   ├── token (kind: TokenModule): 'mod'
    │       │   └── trailing_trivia (kind: Trivia)
    │       │       └── child #0 (kind: TokenWhitespace).
    │       ├── name (kind: TerminalIdentifier)
    │       │   ├── leading_trivia (kind: Trivia) []
    │       │   ├── token (kind: TokenIdentifier): 'my_mod'
    │       │   └── trailing_trivia (kind: Trivia) []
    │       └── body (kind: ModuleBody)
    │           ├── lbrace (kind: TerminalLBrace)
    │           │   ├── leading_trivia (kind: Trivia) []
    │           │   ├── token (kind: TokenLBrace): '{'
    │           │   └── trailing_trivia (kind: Trivia)
    │           │       └── child #0 (kind: TokenNewline).
    │           ├── items (kind: ItemList)
    │           │   ├── child #0 (kind: FunctionWithBody)
    │           │   │   ├── attributes (kind: AttributeList) []
    │           │   │   ├── declaration (kind: FunctionDeclaration)
    │           │   │   │   ├── function_kw (kind: TerminalFunction)
    │           │   │   │   │   ├── leading_trivia (kind: Trivia)
    │           │   │   │   │   │   └── child #0 (kind: TokenWhitespace).
    │           │   │   │   │   ├── token (kind: TokenFunction): 'fn'
    │           │   │   │   │   └── trailing_trivia (kind: Trivia)
    │           │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │           │   │   │   ├── name (kind: TerminalIdentifier)
    │           │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │   │   ├── token (kind: TokenIdentifier): 'bar'
    │           │   │   │   │   └── trailing_trivia (kind: Trivia)
    │           │   │   │   │       └── child #0 (kind: TokenWhitespace).
    │           │   │   │   ├── generic_params (kind: OptionWrappedGenericParamListEmpty) []
    │           │   │   │   └── signature (kind: FunctionSignature)
    │           │   │   │       ├── lparen (kind: TerminalLParen)
    │           │   │   │       │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │   ├── token (kind: TokenLParen): '('
    │           │   │   │       │   └── trailing_trivia (kind: Trivia) []
    │           │   │   │       ├── parameters (kind: ParamList)
    │           │   │   │       │   ├── item #0 (kind: Param)
    │           │   │   │       │   │   ├── modifiers (kind: ModifierList) []
    │           │   │   │       │   │   ├── name (kind: TerminalIdentifier)
    │           │   │   │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │   │   │   ├── token (kind: TokenIdentifier): 'x'
    │           │   │   │       │   │   │   └── trailing_trivia (kind: Trivia) []
    │           │   │   │       │   │   └── type_clause (kind: TypeClause)
    │           │   │   │       │   │       ├── colon (kind: TerminalColon)
    │           │   │   │       │   │       │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │   │       │   ├── token (kind: TokenColon): ':'
    │           │   │   │       │   │       │   └── trailing_trivia (kind: Trivia) []
    │           │   │   │       │   │       └── ty (kind: ExprPath)
    │           │   │   │       │   │           └── item #0 (kind: PathSegmentSimple)
    │           │   │   │       │   │               └── ident (kind: TerminalIdentifier)
    │           │   │   │       │   │                   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │   │                   ├── token (kind: TokenIdentifier): 'T0'
    │           │   │   │       │   │                   └── trailing_trivia (kind: Trivia) []
    │           │   │   │       │   ├── separator #0 (kind: TerminalComma)
    │           │   │   │       │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │   │   ├── token (kind: TokenComma): ','
    │           │   │   │       │   │   └── trailing_trivia (kind: Trivia)
    │           │   │   │       │   │       └── child #0 (kind: TokenWhitespace).
    │           │   │   │       │   └── item #1 (kind: Param)
    │           │   │   │       │       ├── modifiers (kind: ModifierList) []
    │           │   │   │       │       ├── name (kind: TerminalIdentifier)
    │           │   │   │       │       │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │       │   ├── token (kind: TokenIdentifier): 's'
    │           │   │   │       │       │   └── trailing_trivia (kind: Trivia) []
    │           │   │   │       │       └── type_clause (kind: TypeClause)
    │           │   │   │       │           ├── colon (kind: TerminalColon)
    │           │   │   │       │           │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │           │   ├── token (kind: TokenColon): ':'
    │           │   │   │       │           │   └── trailing_trivia (kind: Trivia)
    │           │   │   │       │           │       └── child #0 (kind: TokenWhitespace).
    │           │   │   │       │           └── ty (kind: ExprPath)
    │           │   │   │       │               └── item #0 (kind: PathSegmentSimple)
    │           │   │   │       │                   └── ident (kind: TerminalIdentifier)
    │           │   │   │       │                       ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │                       ├── token (kind: TokenIdentifier): 'S'
    │           │   │   │       │                       └── trailing_trivia (kind: Trivia) []
    │           │   │   │       ├── rparen (kind: TerminalRParen)
    │           │   │   │       │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │   ├── token (kind: TokenRParen): ')'
    │           │   │   │       │   └── trailing_trivia (kind: Trivia)
    │           │   │   │       │       └── child #0 (kind: TokenWhitespace).
    │           │   │   │       ├── ret_ty (kind: ReturnTypeClause)
    │           │   │   │       │   ├── arrow (kind: TerminalArrow)
    │           │   │   │       │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │   │   ├── token (kind: TokenArrow): '->'
    │           │   │   │       │   │   └── trailing_trivia (kind: Trivia)
    │           │   │   │       │   │       └── child #0 (kind: TokenWhitespace).
    │           │   │   │       │   └── ty (kind: ExprPath)
    │           │   │   │       │       └── item #0 (kind: PathSegmentSimple)
    │           │   │   │       │           └── ident (kind: TerminalIdentifier)
    │           │   │   │       │               ├── leading_trivia (kind: Trivia) []
    │           │   │   │       │               ├── token (kind: TokenIdentifier): 'X'
    │           │   │   │       │               └── trailing_trivia (kind: Trivia)
    │           │   │   │       │                   └── child #0 (kind: TokenWhitespace).
    │           │   │   │       ├── implicits_clause (kind: OptionImplicitsClauseEmpty) []
    │           │   │   │       └── optional_no_panic (kind: OptionTerminalNoPanicEmpty) []
    │           │   │   └── body (kind: ExprBlock)
    │           │   │       ├── lbrace (kind: TerminalLBrace)
    │           │   │       │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │   ├── token (kind: TokenLBrace): '{'
    │           │   │       │   └── trailing_trivia (kind: Trivia)
    │           │   │       │       └── child #0 (kind: TokenNewline).
    │           │   │       ├── statements (kind: StatementList)
    │           │   │       │   └── child #0 (kind: StatementExpr)
    │           │   │       │       ├── expr (kind: ExprBinary)
    │           │   │       │       │   ├── lhs (kind: ExprBinary)
    │           │   │       │       │   │   ├── lhs (kind: ExprBinary)
    │           │   │       │       │   │   │   ├── lhs (kind: ExprPath)
    │           │   │       │       │   │   │   │   └── item #0 (kind: PathSegmentSimple)
    │           │   │       │       │   │   │   │       └── ident (kind: TerminalIdentifier)
    │           │   │       │       │   │   │   │           ├── leading_trivia (kind: Trivia)
    │           │   │       │       │   │   │   │           │   └── child #0 (kind: TokenWhitespace).
    │           │   │       │       │   │   │   │           ├── token (kind: TokenIdentifier): 'x'
    │           │   │       │       │   │   │   │           └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │   │   │   ├── op (kind: TerminalDot)
    │           │   │       │       │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │   │   │   │   ├── token (kind: TokenDot): '.'
    │           │   │       │       │   │   │   │   └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │   │   │   └── rhs (kind: ExprPath)
    │           │   │       │       │   │   │       └── item #0 (kind: PathSegmentSimple)
    │           │   │       │       │   │   │           └── ident (kind: TerminalIdentifier)
    │           │   │       │       │   │   │               ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │   │   │               ├── token (kind: TokenIdentifier): 'a'
    │           │   │       │       │   │   │               └── trailing_trivia (kind: Trivia)
    │           │   │       │       │   │   │                   └── child #0 (kind: TokenWhitespace).
    │           │   │       │       │   │   ├── op (kind: TerminalMul)
    │           │   │       │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │   │   │   ├── token (kind: TokenMul): '*'
    │           │   │       │       │   │   │   └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │   │   └── rhs: Missing []
    │           │   │       │       │   ├── op (kind: TerminalPlus)
    │           │   │       │       │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │   │   ├── token (kind: TokenPlus): '+'
    │           │   │       │       │   │   └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │   └── rhs (kind: ExprBinary)
    │           │   │       │       │       ├── lhs (kind: ExprBinary)
    │           │   │       │       │       │   ├── lhs (kind: ExprBinary)
    │           │   │       │       │       │   │   ├── lhs (kind: ExprUnary)
    │           │   │       │       │       │   │   │   ├── op (kind: TerminalMinus)
    │           │   │       │       │       │   │   │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │       │   │   │   │   ├── token (kind: TokenMinus): '-'
    │           │   │       │       │       │   │   │   │   └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │       │   │   │   └── expr: Missing []
    │           │   │       │       │       │   │   ├── op (kind: TerminalDot)
    │           │   │       │       │       │   │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │       │   │   │   ├── token (kind: TokenDot): '.'
    │           │   │       │       │       │   │   │   └── trailing_trivia (kind: Trivia)
    │           │   │       │       │       │   │   │       └── child #0 (kind: TokenWhitespace).
    │           │   │       │       │       │   │   └── rhs (kind: ExprPath)
    │           │   │       │       │       │   │       └── item #0 (kind: PathSegmentSimple)
    │           │   │       │       │       │   │           └── ident (kind: TerminalIdentifier)
    │           │   │       │       │       │   │               ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │       │   │               ├── token (kind: TokenIdentifier): 's'
    │           │   │       │       │       │   │               └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │       │   ├── op (kind: TerminalDot)
    │           │   │       │       │       │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │       │   │   ├── token (kind: TokenDot): '.'
    │           │   │       │       │       │   │   └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │       │   └── rhs (kind: ExprPath)
    │           │   │       │       │       │       └── item #0 (kind: PathSegmentSimple)
    │           │   │       │       │       │           └── ident (kind: TerminalIdentifier)
    │           │   │       │       │       │               ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │       │               ├── token (kind: TokenIdentifier): 's'
    │           │   │       │       │       │               └── trailing_trivia (kind: Trivia)
    │           │   │       │       │       │                   └── child #0 (kind: TokenWhitespace).
    │           │   │       │       │       ├── op (kind: TerminalMul)
    │           │   │       │       │       │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │       │   ├── token (kind: TokenMul): '*'
    │           │   │       │       │       │   └── trailing_trivia (kind: Trivia)
    │           │   │       │       │       │       └── child #0 (kind: TokenWhitespace).
    │           │   │       │       │       └── rhs (kind: ExprFunctionCall)
    │           │   │       │       │           ├── path (kind: ExprPath)
    │           │   │       │       │           │   └── item #0 (kind: PathSegmentSimple)
    │           │   │       │       │           │       └── ident (kind: TerminalIdentifier)
    │           │   │       │       │           │           ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │           │           ├── token (kind: TokenIdentifier): 'foo'
    │           │   │       │       │           │           └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │           └── arguments (kind: ArgListParenthesized)
    │           │   │       │       │               ├── lparen (kind: TerminalLParen)
    │           │   │       │       │               │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │               │   ├── token (kind: TokenLParen): '('
    │           │   │       │       │               │   └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │               ├── args (kind: ArgList)
    │           │   │       │       │               │   ├── item #0 (kind: Arg)
    │           │   │       │       │               │   │   ├── modifiers (kind: ModifierList) []
    │           │   │       │       │               │   │   └── arg_clause (kind: ArgClauseUnnamed)
    │           │   │       │       │               │   │       └── value (kind: TerminalLiteralNumber)
    │           │   │       │       │               │   │           ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │               │   │           ├── token (kind: TokenLiteralNumber): '1'
    │           │   │       │       │               │   │           └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │               │   ├── separator #0 (kind: TerminalComma)
    │           │   │       │       │               │   │   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │               │   │   ├── token (kind: TokenComma): ','
    │           │   │       │       │               │   │   └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │               │   └── item #1 (kind: Arg)
    │           │   │       │       │               │       ├── modifiers (kind: ModifierList) []
    │           │   │       │       │               │       └── arg_clause (kind: ArgClauseUnnamed)
    │           │   │       │       │               │           └── value (kind: TerminalLiteralNumber)
    │           │   │       │       │               │               ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │               │               ├── token (kind: TokenLiteralNumber): '3'
    │           │   │       │       │               │               └── trailing_trivia (kind: Trivia) []
    │           │   │       │       │               └── rparen (kind: TerminalRParen)
    │           │   │       │       │                   ├── leading_trivia (kind: Trivia) []
    │           │   │       │       │                   ├── token (kind: TokenRParen): ')'
    │           │   │       │       │                   └── trailing_trivia (kind: Trivia)
    │           │   │       │       │                       └── child #0 (kind: TokenNewline).
    │           │   │       │       └── semicolon (kind: OptionTerminalSemicolonEmpty) []
    │           │   │       └── rbrace (kind: TerminalRBrace)
    │           │   │           ├── leading_trivia (kind: Trivia)
    │           │   │           │   └── child #0 (kind: TokenWhitespace).
    │           │   │           ├── token (kind: TokenRBrace): '}'
    │           │   │           └── trailing_trivia (kind: Trivia)
    │           │   │               └── child #0 (kind: TokenNewline).
    │           │   └── child #1 (kind: ItemStruct)
    │           │       ├── attributes (kind: AttributeList) []
    │           │       ├── struct_kw (kind: TerminalStruct)
    │           │       │   ├── leading_trivia (kind: Trivia)
    │           │       │   │   └── child #0 (kind: TokenWhitespace).
    │           │       │   ├── token (kind: TokenStruct): 'struct'
    │           │       │   └── trailing_trivia (kind: Trivia)
    │           │       │       └── child #0 (kind: TokenWhitespace).
    │           │       ├── name (kind: TerminalIdentifier)
    │           │       │   ├── leading_trivia (kind: Trivia) []
    │           │       │   ├── token (kind: TokenIdentifier): 'A'
    │           │       │   └── trailing_trivia (kind: Trivia) []
    │           │       ├── generic_params (kind: OptionWrappedGenericParamListEmpty) []
    │           │       ├── lbrace (kind: TerminalLBrace)
    │           │       │   ├── leading_trivia (kind: Trivia) []
    │           │       │   ├── token (kind: TokenLBrace): '{'
    │           │       │   └── trailing_trivia (kind: Trivia)
    │           │       │       └── child #0 (kind: TokenNewline).
    │           │       ├── members (kind: MemberList)
    │           │       │   ├── item #0 (kind: Member)
    │           │       │   │   ├── attributes (kind: AttributeList) []
    │           │       │   │   ├── name (kind: TerminalIdentifier)
    │           │       │   │   │   ├── leading_trivia (kind: Trivia)
    │           │       │   │   │   │   └── child #0 (kind: TokenWhitespace).
    │           │       │   │   │   ├── token (kind: TokenIdentifier): 'x'
    │           │       │   │   │   └── trailing_trivia (kind: Trivia) []
    │           │       │   │   └── type_clause (kind: TypeClause)
    │           │       │   │       ├── colon (kind: TerminalColon)
    │           │       │   │       │   ├── leading_trivia (kind: Trivia) []
    │           │       │   │       │   ├── token (kind: TokenColon): ':'
    │           │       │   │       │   └── trailing_trivia (kind: Trivia)
    │           │       │   │       │       └── child #0 (kind: TokenWhitespace).
    │           │       │   │       └── ty (kind: ExprPath)
    │           │       │   │           └── item #0 (kind: PathSegmentSimple)
    │           │       │   │               └── ident (kind: TerminalIdentifier)
    │           │       │   │                   ├── leading_trivia (kind: Trivia) []
    │           │       │   │                   ├── token (kind: TokenIdentifier): 'a'
    │           │       │   │                   └── trailing_trivia (kind: Trivia) []
    │           │       │   ├── separator #0 (kind: TerminalComma)
    │           │       │   │   ├── leading_trivia (kind: Trivia) []
    │           │       │   │   ├── token (kind: TokenComma): ','
    │           │       │   │   └── trailing_trivia (kind: Trivia)
    │           │       │   │       ├── child #0 (kind: TokenWhitespace).
    │           │       │   │       ├── child #1 (kind: TokenSingleLineComment): '// Comment.'
    │           │       │   │       └── child #2 (kind: TokenNewline).
    │           │       │   └── item #1 (kind: Member)
    │           │       │       ├── attributes (kind: AttributeList) []
    │           │       │       ├── name (kind: TerminalIdentifier)
    │           │       │       │   ├── leading_trivia (kind: Trivia)
    │           │       │       │   │   └── child #0 (kind: TokenWhitespace).
    │           │       │       │   ├── token (kind: TokenIdentifier): 'y'
    │           │       │       │   └── trailing_trivia (kind: Trivia) []
    │           │       │       └── type_clause (kind: TypeClause)
    │           │       │           ├── colon (kind: TerminalColon)
    │           │       │           │   ├── leading_trivia (kind: Trivia) []
    │           │       │           │   ├── token (kind: TokenColon): ':'
    │           │       │           │   └── trailing_trivia (kind: Trivia)
    │           │       │           │       └── child #0 (kind: TokenWhitespace).
    │           │       │           └── ty (kind: ExprPath)
    │           │       │               └── item #0 (kind: PathSegmentSimple)
    │           │       │                   └── ident (kind: TerminalIdentifier)
    │           │       │                       ├── leading_trivia (kind: Trivia) []
    │           │       │                       ├── token (kind: TokenIdentifier): 'int'
    │           │       │                       └── trailing_trivia (kind: Trivia)
    │           │       │                           └── child #0 (kind: TokenNewline).
    │           │       └── rbrace (kind: TerminalRBrace)
    │           │           ├── leading_trivia (kind: Trivia)
    │           │           │   └── child #0 (kind: TokenWhitespace).
    │           │           ├── token (kind: TokenRBrace): '}'
    │           │           └── trailing_trivia (kind: Trivia)
    │           │               └── child #0 (kind: TokenNewline).
    │           └── rbrace (kind: TerminalRBrace)
    │               ├── leading_trivia (kind: Trivia)
    │               │   └── child #0 (kind: TokenNewline).
    │               ├── token (kind: TokenRBrace): '}'
    │               └── trailing_trivia (kind: Trivia)
    │                   └── child #0 (kind: TokenNewline).
    └── eof (kind: TerminalEndOfFile)
        ├── leading_trivia (kind: Trivia)
        │   ├── child #0 (kind: TokenNewline).
        │   ├── child #1 (kind: TokenSkipped): 'skipped'
        │   ├── child #2 (kind: TokenWhitespace).
        │   ├── child #3 (kind: TokenSkipped): 'tokens'
        │   └── child #4 (kind: TokenNewline).
        ├── token (kind: TokenEndOfFile).
        └── trailing_trivia (kind: Trivia) []
