You should bail if `elem1.is_none()` before even calling `next()` a second time. This will behave better if you're wrapping some other iterator that actually has defined behavior after returning `None`.