pub trait WriteRef {
fn write_ref_bytes_with_callback<F, W: Write>(
&self,
writer: &mut W,
callback: F
) -> Result<()>
where
F: Fn(&[u8]);
fn write_ref_bytes<W: Write>(&self, writer: &mut W) -> Result<()> { ... }
}