static A lowest(Map map) {
A best = null;
Number bestScore = null;
for (A key : keys(map)) {
Number score = map.get(key);
if (best == null || cmp(score, bestScore) < 0) {
best = key;
bestScore = score;
}
}
ret best;
}
static A lowest(Iterable l, IF1 f) {
ret lowestByScoreFunction(l, f);
}