Totally minor point, but I think this example would be clearer as just

```rust
struct Result_produce_iter_static {
    inner:  iter::Skip<...>
}
impl Iterator<int> for Result_produce_iter_static {
     fn next(&mut self) -> Option<int> { self.inner.next() }
}
```

(In particular, there's no runtime difference for using a so-called "newtype" vs a normal struct, unlike Haskell; and I've noticed that LLVM seems to optimise a plain struct better than tuple structs anyway.)