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