pub trait FromFile: Sized { fn deserialize(data: &Vec<u8>) -> Result<Self, Error>; fn from_file(path: &Path) -> Result<Self, Failure> { ... } }