static ItIt countIterator_exclusive(int a, int b) { ret new ItIt() { int i = a; public bool hasNext() { ret i < b; } public Int next() { ret i++; } }; } static ItIt countIterator_exclusive(int b) { ret countIterator_exclusive(0, b); } static ItIt countIterator_exclusive(int a, int b, IF1 f) { ret mapI(countIterator_exclusive(a, b), f); }