// f: A -> B
static LinkedHashMap listToMapWithValueFunction(Iterable l, O f) {
new LinkedHashMap map;
for (A a : unnull(l))
map.put(a, (B) callF(f, a));
ret map;
}
static LinkedHashMap listToMapWithValueFunction(O f, Iterable l) {
ret listToMapWithValueFunction(l, f);
}