static L moveItemFirst(A item, Cl l) { if (!contains(l, item)) ret asList(l); L out = emptyList(l(l)); out.add(item); for (A a : l) if (!eq(a, item)) out.add(a); ret out; }