fn range_generic<T, S, E, const INCLUSIVE: bool>( start: T, stop: T, step: S, extra: E, ) -> Result<impl Iterator<Item = T>>where T: CheckedAddWithExtra<S, E, Output = T> + PartialOrd + Copy, S: IsNegative + Copy, E: Copy,