pub fn integer_range_down_unbounded<A: Sub<Output = A> + One + Clone>( hi: A, ) -> impl Iterator<Item = A>