Can side effects be avoided with ES2015 Iterators and the Iteration Protocols?
<p>As a functional programmer I want to keep my main code free from side effects and shift them to the edge of the application. ES2015 <code>Iterator</code>s and the <code>Iteration Protocols</code> are a promising way to abstract specific collections. However, <code>Iterator</code>s are also stateful. Can I still avoid side effects if I rely on immutable <code>Iterable</code>s exclusively?</p>