static ItIt> iterateListWithIndex(Iterable l, int startAt default 0) { ret iff(new O { Iterator it = iterator(l); int i = startAt; public O get() { if (!it.hasNext()) ret endMarker(); ret pair(i++, it.next()); } }); }