Why not bottom, or are containers not covariant? I'm worried that we're not clear about the difference between variables and values.
> Strictly speaking, EdgeQL sets are multisets [1]
Like nulls, this is another broken aspects of SQL.
Maybe you can address these concerns, but I'm skeptical that it's relational:
* It conflates types with relation variables
* It's using links rather than foreign key constraints
* It doesn't seem like the user can even specify a candidate key
* Which is why the "id" field is magical and special
* Constraints only seem to apply to scalars
The reason SQL has been successful is that tables are dead simple to understand, and you're throwing that out. This feels more like a graph database.
[1]: https://edgedb.com/docs/edgeql/overview#type-system [2]: https://edgedb.com/docs/edgeql/expressions/overview#set-cons...