ally block to make sure the iterator is always disposed however the loop finishes.) </li> </ul>  <p>Many of these points will be true for a lot of our other operators too.</p>  <p>The overload which takes a Func&lt;TSource, int, bool&gt; lets the predicate use the index within the sequence as well as the value. The index always starts at 0, and increments by 1 each time regardless of previous results from the predicate.</p>  <h3>What are we going to test?</h3>  <p>Ideally, we&#39;d like to test <em>all</em>