Vary the value of m get k.
As with Map.updated, but resolve a collision with f.
As with Map.updated, but resolve a collision with f. The
first argument is guaranteed to be from m1.
Collect only elements with matching keys, joining their
associated values with f.
Like intersectWith, but tell f about the key.
Exchange keys of m according to f.
Exchange keys of m according to f. Result may be smaller if
f maps two or more Ks to the same K2, in which case the
resulting associated value is an arbitrary choice.
Union, resolving collisions with f, where the first arg is
guaranteed to be from m1, the second from m2.
Union, resolving collisions with f, where the first arg is
guaranteed to be from m1, the second from m2.
iff f gives rise to a scalaz.Semigroup, so does
unionWith(_, _)(f).
Like unionWith, but telling f about the key.