static B getOrCreate_f1(Map map, A key, F1 create) { B b = map.get(key); if (b == null) mapPut(map, key, b = callF(create, key)); ret b; } static B getOrCreate_f1(Map map, A key, IF1 create) { B b = map.get(key); if (b == null) mapPut(map, key, b = callF(create, key)); ret b; }