pub fn verify_signature<T, A>(
    signature: &Signature<T, A>,
    public_key: &PublicKey<A>,
    data: &T
) -> Verificationwhere
    A: VerificationAlgorithm,
    T: Serialize,