static Map mapKeysAndValues(O f, Map map) { ret mapKeysAndValues(f, f, map); } static Map mapKeysAndValues(O fKey, O fValue, Map map) { Map m = similarEmptyMap(map); for (O key : keys(map)) m.put(callF(fKey, key), callF(fValue, map.get(key))); ret m; }