typenum
pub trait NonZero { }
Only things that aren't zero should impl this.
impl NonZero for B1
impl<U: Unsigned, B: Bit> NonZero for UInt<U, B>
impl<U: Unsigned + NonZero> NonZero for PInt<U>
impl<U: Unsigned + NonZero> NonZero for NInt<U>