append method
Implementation
@override IMap<K, V> append(IMap<K, V> m1, IMap<K, V> m2) =>
m2.pairs().foldLeft(m1, (p, kv) =>
m1.get(kv.value1).fold(() =>
p.put(kv.value1, kv.value2),
(m1v) => p.put(kv.value1, _vSemigroup.append(m1v, kv.value2))));