// f : L -> L static L xtok_recurse_limited_debug(O f, L l, int limit) { print("xtok_recurse " + f + " limit " + limit + " on " + struct(l)); l = (L) callF(f, l); print("xtok_recurse now: " + struct(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_debug(f, (L) o, limit-1)); } ret l; }