static L mapOdds(L l, IF1 f) { int n = l(l); L out = emptyList(n); for i to n: { A a = l.get(i); if (odd(i)) a = f.get(a); out.add(a); } ret out; } static L mapOdds(IF1 f, L l) { ret mapOdds(l, f); }