2 Checks for loops on `x.next()`.
5 `next()` returns either `Some(value)` if there was a
6 value, or `None` otherwise. The insidious thing is that `Option<_>`
7 implements `IntoIterator`, so that possibly one value will be iterated,
8 leading to some hard to find bugs. No one will want to write such code
9 [except to win an Underhanded Rust
10 Contest](https://www.reddit.com/r/rust/comments/3hb0wm/underhanded_rust_contest/cu5yuhr).