An AST subtree the compiler does not model with typed nodes (type
annotations, class bodies, parser extras). Wraps JSON text: serialization
is verbatim pass-through and deserialization streams the subtree into text
without retaining a serde_json::Value tree. Consumers that inspect these
subtrees parse on demand via RawNode::parse_value; paths that do so
repeatedly per traversal pay a parse each time, so cache the parsed Value
at the call site if it shows up in profiles.
Parse JSON text with serde_json’s recursion limit disabled. Every internal
reparse of RawNode text must go through this: the napi entrypoint
deserializes arbitrarily deep ASTs with the limit disabled (on a 64MB
stack), and the tolerant statement path’s reparses must not quietly
reintroduce the default limit.