Maps one value in an immutable map, replacing it with a new one.
Maps one value in an immutable map, replacing it with a new one.
the LUB of the map value type and the new type
the key to update, if no key exists the None
will be passed to f
the function that will change the value to a new value, returning none here removes the value
a new map with a k->f(oldValue) replacing k->oldValue