@ ProgramNode (location: (1,0)-(5,7)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,7)) └── body: (length: 2) ├── @ StringNode (location: (1,0)-(3,1)) │ ├── flags: ∅ │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── content_loc: (1,1)-(3,0) = " why would someone do this? \\\n blah\n" │ ├── closing_loc: (3,0)-(3,1) = "\"" │ └── unescaped: " why would someone do this? blah\n" └── @ StringNode (location: (5,0)-(5,7)) ├── flags: ∅ ├── opening_loc: (5,0)-(5,7) = "<<-DESC" ├── content_loc: (6,0)-(8,0) = " why would someone do this? \\\n blah\n" ├── closing_loc: (8,0)-(9,0) = "DESC\n" └── unescaped: " why would someone do this? blah\n"