static L replaceIC(L l, S a, S b) { new L l2; for i over l: { S s = l.get(i); l2.add(eqic(s, a) ? b : s); } ret l2; }