pub fn powers<R: Ring>(shift: R, base: &R) -> impl Iterator<Item = R> + '_
Return shift, shift * base, shift * base^2, ....
shift, shift * base, shift * base^2, ...
Use powers(R::one(), base) if you just want the standard powers.
powers(R::one(), base)