pub trait Factors: Sized { // Required method fn factors(self) -> impl Iterator<Item = ((Self, u32), Self)>; }