pub(crate) fn pull_one<'a, R: Read<'a>>(
    reader: &mut R,
) -> Result<u8, DecodeError<R::Error>>