static S ai_nlVary(S s) { LL tok = ai_nlClassify1(s); // last element in each place is quoted original for (int i = 1; i < l(tok); i += 2) { L l = tok.get(i); S word = ai_varyClassification(l); if (word != null) tok.set(i, ll(quoteUnlessQuoted(word))); } ret join(map(func(L set) { unquote(last(set)) }, tok)); }