static ItIt itIt(Iterable l) {
if (l == null) ret emptyItIt();
if (l cast ItIt) ret l;
Iterator it = l.iterator();
if (it cast ItIt) ret it;
ret new IterableIterator {
public bool hasNext() { ret it.hasNext(); }
public A next() { ret it.next(); }
};
}