If key exists this function cannot fail. If there is an existing item with key
, then the result Entry
pointers point to it, and found_existing is true. Otherwise, puts a new item with undefined value, and the Entry
pointers point to it. Caller should then initialize the value (but not the key).