pub fn serialize_public<S, A>(
    key: &PublicKey<A>,
    serializer: S
) -> Result<S::Ok, S::Error>where
    S: Serializer,
    A: AsymmetricPublicKey,