insertLookupWithKey package:mono-traversable
Insert a key-value pair into a map, return the previous key's value if
it existed.
Inserts the value directly if the key does not exist in the map.
Otherwise, apply a supplied function that accepts the key, the new
value, and the previous value and insert that result into the map.