pub trait Message: Sized {
type ViewType: MessageView;
// Required methods
fn from_bytes_iter<I: Iterator<Item = IoResult<u8>>>(
iter: I
) -> Result<Self>;
fn merge_from_bytes_iter<I: Iterator<Item = IoResult<u8>>>(
&mut self,
iter: I
) -> Result<()>;
}