pub fn serialize_public_key<A: AsymmetricPublicKey, W: Write>(
    key: &PublicKey<A>,
    codec: &mut Codec<W>
) -> Result<(), WriteError>