static L map_ping(Iterable l, O f) { ret map_ping(f, l); } static L map_ping(O f, Iterable l) { L x = emptyList(l); if (l != null) for (O o : l) x.add(callF(f, o)); ret x; } ifclass F1 static L map_ping(Iterable l, F1 f) { ret map_ping(f, l); } static L map_ping(F1 f, Iterable l) { L x = emptyList(l); if (l != null) for (A o : l) x.add(callF(f, o)); ret x; } endif static L map_ping(IF1 f, Iterable l) { ret map_ping(l, f); } static L map_ping(Iterable l, IF1 f) { L x = emptyList(l); if (l != null) for ping (A o : l) x.add(f.get(o)); ret x; } static L map_ping(IF1 f, A[] l) { ret map_ping(l, f); } static L map_ping(A[] l, IF1 f) { L x = emptyList(l); if (l != null) for ping (A o : l) x.add(f.get(o)); ret x; } static L map_ping(O f, O[] l) { ret map_ping(f, asList(l)); } static L map_ping(O[] l, O f) { ret map_ping(f, l); } static L map_ping(O f, Map map) { ret map_ping(map, f); } // map_ping: func(key, value) -> list element static L map_ping(Map map, O f) { new L x; if (map != null) for ping (O _e : map.entrySet()) { Map.Entry e = (Map.Entry) _e; x.add(callF(f, e.getKey(), e.getValue())); } ret x; } static L map_ping(Map map, IF2 f) { ret map_ping(map, (O) f); }