pub fn read_vec<T: Decoder>(
    input: &[u8]
) -> Result<(&[u8], Vec<T>), DecodeError>