pub fn read_bin<B: ByteSlice>(buf: B) -> Result<(B, usize), Error>