static L replaceIC_transferCase(Collection l, S in, S out) { new L l2; for i over l: { S s = l.get(i); l2.add(eqic(s, in) ? transferCase(s, out) : s); } ret l2; }