Renders IR as Pure-like text, for golden tests and debugging; it is never
sent to the engine. Operators are infix with every operand that is itself
an operator in parentheses, ! always takes parentheses, and everything
else is an arrow call on its first parameter, so the text has no precedence
traps. Store accessor segments are printed as stored: a quoted dotted name
("a.b") does not read back as one segment, which is why Cube sends JSON.
Renders IR as Pure-like text, for golden tests and debugging; it is never sent to the engine. Operators are infix with every operand that is itself an operator in parentheses,
!always takes parentheses, and everything else is an arrow call on its first parameter, so the text has no precedence traps. Store accessor segments are printed as stored: a quoted dotted name ("a.b") does not read back as one segment, which is why Cube sends JSON.