Monoid<IMap<K, V>> imapMonoid<K extends Comparable, V>(Semigroup<V> si) => new IMapMonoid(si, comparableOrder());