pub trait ExtensionValue: Display + Debug + Clone { type Extension: Extension; fn extension(&self) -> &Self::Extension; }