pub fn serialize<T, S>(
    value: &Option<T>,
    serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer, T: Serialize,