pub fn buffered_decode<R: Read, W: Write>(
    read: R,
    write: W
) -> Result<(), Box<dyn Error>>