pub(crate) trait WideningMultiply<RHS = Self> {
    type Output;
    // Required method
    fn wmul(self, x: RHS) -> Self::Output;
}pub(crate) trait WideningMultiply<RHS = Self> {
    type Output;
    // Required method
    fn wmul(self, x: RHS) -> Self::Output;
}