fn decode_tagged<D, T, V>( decoder: &mut D, expected_tag: T) -> Result<V, D::Error> where T: Decodable<D> + Eq + Debug, V: Decodable<D>, D: DecoderWithPosition,