pub fn write_bytes(w: &mut impl Write, data: &[u8]) -> Result<()>
Writes a length-prefixed byte slice: [len: u32][data].
[len: u32][data]
Returns an error if the data length exceeds u32::MAX.
u32::MAX