@ ProgramNode (location: (0...25))
├── locals: []
└── statements:
    @ StatementsNode (location: (0...25))
    └── body: (length: 3)
        ├── @ HashNode (location: (0...6))
        │   ├── opening_loc: (0...1) = "{"
        │   ├── elements: (length: 1)
        │   │   └── @ AssocNode (location: (1...5))
        │   │       ├── key:
        │   │       │   @ SymbolNode (location: (1...5))
        │   │       │   ├── opening_loc: ∅
        │   │       │   ├── value_loc: (1...4) = "BAR"
        │   │       │   ├── closing_loc: (4...5) = ":"
        │   │       │   └── unescaped: "BAR"
        │   │       ├── value: ∅
        │   │       └── operator_loc: ∅
        │   └── closing_loc: (5...6) = "}"
        ├── @ HashNode (location: (8...16))
        │   ├── opening_loc: (8...9) = "{"
        │   ├── elements: (length: 2)
        │   │   ├── @ AssocNode (location: (9...11))
        │   │   │   ├── key:
        │   │   │   │   @ SymbolNode (location: (9...11))
        │   │   │   │   ├── opening_loc: ∅
        │   │   │   │   ├── value_loc: (9...10) = "a"
        │   │   │   │   ├── closing_loc: (10...11) = ":"
        │   │   │   │   └── unescaped: "a"
        │   │   │   ├── value: ∅
        │   │   │   └── operator_loc: ∅
        │   │   └── @ AssocNode (location: (13...15))
        │   │       ├── key:
        │   │       │   @ SymbolNode (location: (13...15))
        │   │       │   ├── opening_loc: ∅
        │   │       │   ├── value_loc: (13...14) = "b"
        │   │       │   ├── closing_loc: (14...15) = ":"
        │   │       │   └── unescaped: "b"
        │   │       ├── value: ∅
        │   │       └── operator_loc: ∅
        │   └── closing_loc: (15...16) = "}"
        └── @ HashNode (location: (18...25))
            ├── opening_loc: (18...19) = "{"
            ├── elements: (length: 1)
            │   └── @ AssocNode (location: (19...24))
            │       ├── key:
            │       │   @ SymbolNode (location: (19...24))
            │       │   ├── opening_loc: ∅
            │       │   ├── value_loc: (19...23) = "puts"
            │       │   ├── closing_loc: (23...24) = ":"
            │       │   └── unescaped: "puts"
            │       ├── value: ∅
            │       └── operator_loc: ∅
            └── closing_loc: (24...25) = "}"
