static IterableIterator> mapPairs(Map map) { final Iterator> it = map.entrySet().iterator(); ret iteratorFromFunction(func -> Pair { if (it.hasNext()) { Map.Entry entry = it.next(); ret pair(entry.getKey(), entry.getValue()); } null; }); } static L mapPairs(Iterable> l, IF2 f) { ret mapPairsToList(l, f); }