Looks up a key's entry in the table, then either updates it or creates a new one (may rehash).
Key being looked up and stored in the table.
Called to construct a new value if the key isn't in the table.
Called to update the value of an entry, if it was found.
The entry's final value (or its .init in case of failure).
Looks up a key's entry in the table, then either updates it or creates a new one (may rehash).