pub trait Decode: Sized { type Err; // Required method fn from_reader<R: Read>(reader: &mut R) -> Result<Self, Self::Err>; }