Since we're redesigning... > boolean removeAll(AnyCollection<? extends E> c); // not > Collection<?> > boolean retainAll(AnyCollection<? extends E> c); // not > Collection<?> Arguably better handled by remove(Predicate) > long findFirst(E e); > long findLast(E e); Arguably better as findXxx(Predicate)