One iterator simply returns the value and increments, and the other needs to apply the filter first and potentially advance several times.