Connect this Signer to new provider. May simply throw an error if changing providers is not supported.
provider
@override Wallet connect(Provider provider) => Wallet._(impl.connect(provider.impl));