pub trait CanonicalHash { type Output: AsRef<[u8]>; // Required method fn hash(&self) -> Self::Output; }