static L mapNonCodeTokens(O f, L l) { L out = emptyList(l); for i over l: { O o = l.get(i); out.add(even(i) ? callF(f, o) : o); } ret out; } static L mapNonCodeTokens(L l, O f) { ret mapNonCodeTokens(f, l); } static LS mapNonCodeTokens(LS tok, IF1 f) { ret mapNonCodeTokens(tok, (O) f); } static LS lambdaMapLike mapNonCodeTokens(IF1 f, LS tok) { ret mapNonCodeTokens(tok, f); }