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