@evan i would add that there are several other more actively maintained options, at least: https://json-ld.org/#developers
in the most basic case, expanding the document should make it unambiguous:
- all keys are normalized to full identifiers with exactly 1 possible representation instead of infinitely many
- all values are normalized to JSON
arrays of JSON objects
- those JSON objects explicitly say whether they have an id (Reference) or a value (Literal)