signature: `SignerMut` blanket impl prevents custom implementation
I have a signing key which can "evolve" (key evolving signature a.k.a. forward secure signature). SignerMut is supposed to simplify the process of signing and evolving the key at the same time. However, if I want that to be the case, I must only implement SignerMut, because Signer provides a blanket implementation and there is a conflict. I want to be able to simply sign a message if desired (i.e., impl Signer) but also want the ability to implement SignerMut so that the key evolves (the blanket impl has the same behavior as Signer).
One way of doing this would be to remove the blanket impl on SignerMut, but that I believe is a breaking change.
We’re in the process of making breaking changes to signature now, so this change is possible
Fixed in #1915