static L mapLike mapCodeTokens(O f, L l) { new L out; for i over l: { O o = l.get(i); out.add(odd(i) ? callF(f, o) : o); } ret out; } static L mapCodeTokens(L l, O f) { ret mapCodeTokens(f, l); }