@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
    @ StatementsNode (location: (1,0)-(1,10))
    └── body: (length: 1)
        └── @ HashNode (location: (1,0)-(1,10))
            ├── opening_loc: (1,0)-(1,1) = "{"
            ├── elements: (length: 1)
            │   └── @ AssocNode (location: (1,2)-(1,8))
            │       ├── key:
            │       │   @ SymbolNode (location: (1,2)-(1,6))
            │       │   ├── opening_loc: ∅
            │       │   ├── value_loc: (1,2)-(1,5) = "foo"
            │       │   ├── closing_loc: (1,5)-(1,6) = ":"
            │       │   └── unescaped: "foo"
            │       ├── value:
            │       │   @ IntegerNode (location: (1,7)-(1,8))
            │       │   └── flags: decimal
            │       └── operator_loc: ∅
            └── closing_loc: (1,9)-(1,10) = "}"
