@ ProgramNode (location: (1,0)-(2,6)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,6)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ │ ├── flags: variable_call │ └── name: "foo" └── @ RangeNode (location: (2,0)-(2,6)) ├── left: ∅ ├── right: │ @ IntegerNode (location: (2,3)-(2,6)) │ └── flags: decimal ├── operator_loc: (2,0)-(2,3) = "..." └── flags: exclude_end