@public You'd still prefer a single method on both the `*PrivateKey` interfaces that sometimes raises an exception?

I still like the interfaces because it gives you a way to check if you can get numbers from a specific key, without having to do the work to get numbers.

It also means that any key loaded _from_ numbers can be trivially extended to support serialization to numbers with composition (in a backend independent way).

For example,

```python

@implements(RSAPrivateKey, RSAPrivateNumbersSerialization)
class _PrivateKeyWithRSANumbers(object):
    def __init__(self, private_key, private_numbers):
         self._private_key = private_key
         self._private_numbers = private_numbers

    <proxies for RSAPrivateKey methods elided>

   def rsa_private_numbers(self):
        return self._private_numbers
```