svoid tok_metaFor(LS tok) { int i; jreplace(tok, "meta-for also as", "meta-for $4 in $4,"); while ((i = jfind_any(tok, "meta-for in", "meta-for as")) >= 0) { int iOpening = indexOf(tok, i, "{"); int iClosing = tok_findEndOfBracketPart(tok, iOpening)-1; int iVar = i+6, iFirstValue = iVar+4; S var = tok.get(iVar); LS values = identifiersOnly(subList(tok, iFirstValue, iOpening-1)); LS body = subList(tok, iOpening+1, iClosing); tokReplace_reTok(tok, i, iClosing+1, mapToLines(values, value -> join(replaceInClonedList(body, var, value)))); } }