@ ProgramNode (location: (1,0)-(7,9)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,9)) └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,11)) │ ├── flags: ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f │ ├── message_loc: (1,0)-(1,1) = "f" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,11)) │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LambdaNode (location: (1,2)-(1,11)) │ │ ├── locals: [] │ │ ├── operator_loc: (1,2)-(1,4) = "->" │ │ ├── opening_loc: (1,5)-(1,7) = "do" │ │ ├── closing_loc: (1,8)-(1,11) = "end" │ │ ├── parameters: ∅ │ │ └── body: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,7)) │ ├── flags: ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f │ ├── message_loc: (3,0)-(3,1) = "f" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,2)-(3,7)) │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LambdaNode (location: (3,2)-(3,7)) │ │ ├── locals: [] │ │ ├── operator_loc: (3,2)-(3,4) = "->" │ │ ├── opening_loc: (3,5)-(3,6) = "{" │ │ ├── closing_loc: (3,6)-(3,7) = "}" │ │ ├── parameters: ∅ │ │ └── body: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,13)) │ ├── flags: ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f │ ├── message_loc: (5,0)-(5,1) = "f" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,2)-(5,13)) │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LambdaNode (location: (5,2)-(5,13)) │ │ ├── locals: [] │ │ ├── operator_loc: (5,2)-(5,4) = "->" │ │ ├── opening_loc: (5,7)-(5,9) = "do" │ │ ├── closing_loc: (5,10)-(5,13) = "end" │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (5,4)-(5,6)) │ │ │ ├── parameters: ∅ │ │ │ ├── locals: (length: 0) │ │ │ ├── opening_loc: (5,4)-(5,5) = "(" │ │ │ └── closing_loc: (5,5)-(5,6) = ")" │ │ └── body: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (7,0)-(7,9)) ├── flags: ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f ├── message_loc: (7,0)-(7,1) = "f" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (7,2)-(7,9)) │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (7,2)-(7,9)) │ ├── locals: [] │ ├── operator_loc: (7,2)-(7,4) = "->" │ ├── opening_loc: (7,7)-(7,8) = "{" │ ├── closing_loc: (7,8)-(7,9) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (7,4)-(7,6)) │ │ ├── parameters: ∅ │ │ ├── locals: (length: 0) │ │ ├── opening_loc: (7,4)-(7,5) = "(" │ │ └── closing_loc: (7,5)-(7,6) = ")" │ └── body: ∅ ├── closing_loc: ∅ └── block: ∅