// predicates: L> static L indicesOfTokenPredicateSequence(LS tok, L predicates) { int n = l(predicates), nn = l(tok)-(n-1)*2; new L out; search: for (int i = 1; i < nn; i += 2) { for j to n: if (!isTrue(callF(predicates.get(j), tok.get(i+j*2)))) continue search; out.add(i); } ret out; }