pub trait IsUnsignedInteger: Shr<usize, Output = Self> + BitAnd<Output = Self> + Eq + Ord + From<u16> + Copy + Display + Add<Self, Output = Self> { }
pub trait IsUnsignedInteger: Shr<usize, Output = Self> + BitAnd<Output = Self> + Eq + Ord + From<u16> + Copy + Display + Add<Self, Output = Self> { }