Dicts, sets and frozenset are implemented as hash tables, not as arrays,
I see, thanks.
The location of the "next empty slot" depends on a the key associated with the value being added (btw, where is the "key" handled in your proposed API?).
What key? It's a set, not a mapping. The value is the key.