static LS ai_turnCertainWordsIntoUniqueDollarVarsai_turnWordsIntoUniqueDollarVars(LS tok, Set wordsToTransform) { MultiSet ms = ciSet(); ret mapWithIndex(tok, (t, i) -> odd(i) && contains(wordsToTransform, t) ? "$" + t + emptyIfOne(ms.add(t)) : t); } sS ai_turnCertainWordsIntoUniqueDollarVars(S s, Set wordsToTransform) { ret join(ai_turnWordsIntoUniqueDollarVars(javaTokWithBrackets(s), wordsToTransform)); }