pub trait Distance<T> { type Output; // Required method fn distance(&self, rhs: &T) -> Self::Output; }