An iterator that falls back to a second iterator when the first one is exusted.
assert_eq!( vec![1, 2, 3, 4, 5], vec![1, 2, 3] .into_iter() .fallback(vec![0, 0, 0, 4, 5].into_iter()) .collect::<Vec<_>>() )