To make random insertion order, generate a random 64-bit number on creation to
xorbitwise with all keys to determine indices. This is for making maps have random iteration order, like Go maps, making it so users cannot depend on iteration order.
If I do the above, I can make two different types of maps:
Ordered maps, ordered by sorting keys. (This will require the map to add a comparison function for keys.)
Insertion-ordered maps, ordered by insertion order.
These will be exactly like maps, except that they will have an extra vector of keys sorted by keys or insertion order, and the only operation that will be different is iteration, which will iterate over the vector, not the map.