@ ProgramNode (location: (0...11))
├── locals: []
└── statements:
    @ StatementsNode (location: (0...11))
    └── body: (length: 1)
        └── @ ArrayNode (location: (0...11))
            ├── elements: (length: 2)
            │   ├── @ StringNode (location: (3...6))
            │   │   ├── opening_loc: ∅
            │   │   ├── content_loc: (3...6) = "foo"
            │   │   ├── closing_loc: ∅
            │   │   └── unescaped: "foo"
            │   └── @ StringNode (location: (7...10))
            │       ├── opening_loc: ∅
            │       ├── content_loc: (7...10) = "bar"
            │       ├── closing_loc: ∅
            │       └── unescaped: "bar"
            ├── opening_loc: (0...3) = "%w["
            └── closing_loc: (10...11) = "]"
