As a long-time advocate of removing Error from Future, I disagree that the situations are analogous. A future that yields Result<T, E> is unambiguous; there is no question of whether it is in any sense “valid” afterwards, because Futures are always complete once they yield a value. No information is lost. In fact, the original motivation for including an Error case was for improved ergonomics.
By contrast, an Iterator over Result<T, E> is often an Iterator over a series of Results which may legitimately contain multiple Err values of interest; assigning a special meaning to Err in some cases is therefore a fragile pattern, as important semantic information is erased from the type.
I am not proposing anybody write Iterator<Item=Result<Result<T, E>, F>>, as that has exactly the same problem. The pre-RFC I cited outlines approaches to providing good ergonomics for fallible generators.