pub fn repeat_except_first<T: Clone>(x: T) -> impl Iterator<Item = Option<T>>
Yield None then infinitely many Some(x).
None
Some(x)