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