pub trait Matpow<Rhs = Self> { type Output; // Required method fn pow(&self, rhs: Rhs) -> Self::Output; }