static Map filterMapByFunctionOnKey(Map map, O f) { Map m2 = similarEmptyMap(map); for (A a : keys(map)) { if (isTrue(callF(f, a))) m2.put(a, map.get(a)); } ret m2; } static Map filterMapByFunctionOnKey(O f, Map map) { ret filterMapByFunctionOnKey(map, f); }