static L takeUntil(Iterable l, bool includeLast, IF1 pred) { new L out; fOr (A a : l) if (pred.get(a)) { if (includeLast) out.add(a); ret out; } else out.add(a); ret out; }