Insert or replace a key/value pair in a Map.
Map<K, V> upsertAt(Eq<K> eq, K key, V value) => modifyAt(eq, (_) => value, key).getOrElse( () => {...this, key: value}, );