@ ProgramNode (location: (0...28))
├── locals: []
└── statements:
    @ StatementsNode (location: (0...28))
    └── body: (length: 1)
        └── @ ArrayNode (location: (0...28))
            ├── elements: (length: 7)
            │   ├── @ StringNode (location: (3...7))
            │   │   ├── opening_loc: ∅
            │   │   ├── content_loc: (3...7) = "a\\nb"
            │   │   ├── closing_loc: ∅
            │   │   └── unescaped: "a\nb"
            │   ├── @ StringNode (location: (8...9))
            │   │   ├── opening_loc: ∅
            │   │   ├── content_loc: (8...9) = "c"
            │   │   ├── closing_loc: ∅
            │   │   └── unescaped: "c"
            │   ├── @ StringNode (location: (10...11))
            │   │   ├── opening_loc: ∅
            │   │   ├── content_loc: (10...11) = "d"
            │   │   ├── closing_loc: ∅
            │   │   └── unescaped: "d"
            │   ├── @ StringNode (location: (12...16))
            │   │   ├── opening_loc: ∅
            │   │   ├── content_loc: (12...16) = "e\\\nf"
            │   │   ├── closing_loc: ∅
            │   │   └── unescaped: "ef"
            │   ├── @ StringNode (location: (17...19))
            │   │   ├── opening_loc: ∅
            │   │   ├── content_loc: (17...19) = "gy"
            │   │   ├── closing_loc: ∅
            │   │   └── unescaped: "gy"
            │   ├── @ StringNode (location: (20...23))
            │   │   ├── opening_loc: ∅
            │   │   ├── content_loc: (20...23) = "h\\y"
            │   │   ├── closing_loc: ∅
            │   │   └── unescaped: "hy"
            │   └── @ StringNode (location: (24...27))
            │       ├── opening_loc: ∅
            │       ├── content_loc: (24...27) = "i\\y"
            │       ├── closing_loc: ∅
            │       └── unescaped: "iy"
            ├── opening_loc: (0...3) = "%W("
            └── closing_loc: (27...28) = ")"
