Instead we should implement stateful Iterators that achieve the same functionality. The reason is memory-efficiency. * [ ] foldRight(Object, BiFunction) * [ ] partition(Predicate) * [ ] reduceRight(BiFunction) * [ ] slideBy(Function) * [ ] span(Predicate) * [ ] unfoldLeft(Object, Function) * [ ] unzip(Function) * [ ] unzip3(Function)