pub trait Marshal: MarshalSize { // Required method fn marshal_to(&self, buf: &mut [u8]) -> Result<usize>; // Provided method fn marshal(&self) -> Result<Bytes> { ... } }