That's a great idea - why not apply it to all JSON objects? In a way, we can already access a JSON array element by position. So all that is missing is a way to push a new element onto the array such that it:
- Assigns an immutable ID to the element, even if additional elements are added or removed.
- Returns that element ID when pushing.
Each "table" would be a top-level array item.
As for JOINs, I can think of a few syntax that are already supported, but none that I like. Any ideas?