[Currently `ToucanClient` expects to be initialized with a signer and provider as two separate objects.](https://github.com/ToucanProtocol/toucan-sdk/blob/13d8c053cbf0ce300bcb1027c6dbacc480e95b50/src/index.ts#L73-L74) It's probably best to align with the [ethers Contract API](https://docs.ethers.org/v5/api/contract/contract/#Contract--creating) where a union object of the two types (providerOrSigner) is expected.