static A firstThat(Collection l, O pred) {
for (A a : unnull(l))
if (checkCondition(pred, a))
ret a;
null;
}
static A firstThat(Collection l, IF1 pred) {
ret firstThat(l, (O) pred);
}
static A firstThat(IF1 pred, Collection l) {
ret firstThat(l, pred);
}