intersection method
Intersect the key/value of two Map using combine
where the key is the same.
Implementation
Map<K, V> intersection(
Eq<K> eq,
V Function(V x, V y) combine,
Map<K, V> map,
) =>
{
for (var entry in map.entries)
if (lookupEq(eq, entry.key) case Some(:var value))
entry.key: combine(value, entry.value)
};