deprecations
put first/last back in Iterable
reimplement getFirst()/getLast()