Pretty-printer for the syntax tree. Designed so parse(text) → print → parse round-trips on the canonical AST.
parse(text) → print → parse