modify method
Implementation
IHashMap<K, V> modify(K k, V f(V v), V dflt) => new IHashMap.internal(_map.modify(k.hashCode,
(existing) => existing
.find((kv) => kv.value1 == k)
.fold(() => cons(tuple2(k, dflt), existing), (_) => existing.map((kv) => kv.value1 == k ? tuple2(kv.value1, f(kv.value2)) : kv)),
new Cons(tuple2(k, dflt), nil())));