static persistable class ImmutableListWalker implements Iterator {
L list;
int index;
*(L *list) {}
*(L *list, int *index) {}
public bool has() { ret index >= 0 && index < l(list); }
public A get() {
ret _get(list, index);
}
public ImmutableListWalker next() {
ret new ImmutableListWalker(list, index+1);
}
}