Append to an array node.
Numeric value as a double (lossy for large integers; use the kind-specific fields for exact comparisons).
Deep copy (the arrays backing objects and arrays are duplicated).
Object member lookup; null when absent or not an object.
Set (or replace) an object member, preserving first-insertion order.
One ordered object member.
A JSON value: null, boolean, number (signed / unsigned / floating), string, array, or object with preserved member order.