pub trait Provider: 'static { type Format: 'static + Format; type Error: Display; fn start(self) -> Result<Self::Format, Self::Error>; }