iterators for take/takeWhile