// f : L -> L static L xtok_recurse_limited(O f, L l, int limit) { l = (L) callF(f, l); if (limit <= 1) ret l; for (int i = 1; i < l(l); i += 2) { O o = l.get(i); if (o instanceof L) l.set(i, xtok_recurse_limited(f, (L) o, limit-1)); } ret l; }