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