// predicates: L> // modifies & returns tok static LS groupTokenPredicateSequence(LS tok, L predicates) { int min = 0; for (int i : indicesOfTokenPredicateSequence(tok, predicates)) { continue if i <= min; int j = l(predicates)*2-2; tok_addCurlyBracketsAroundPart(tok, i, j); min = j; } ret tok; }