pub fn deserialize<'de, T, D>(deserializer: D) -> Result<T, D::Error> where
    T: Deserialize<'de>,
    D: Deserializer<'de>,