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