pub type Buffer<'a> = &'a mut Vec<u8>;
The problem with being generic over std::io::Write is that it’s fallible, but in practice, we’re always going to serialize in-memory, so instead we just use a Vec<u8> as our buffer.
std::io::Write
Vec<u8>