Since bitcoin 0.32.6, get_key can accommodate key requests for common map types (e.g. BTreeMap<PublicKey, PrivateKey>) when the request is a XOnlyPublicKey. I think our Signer impl could easily be updated to make use of this fact, which would enable signing in more contexts such as taproot.