This means using more existential types, e.g. `SomeSimpleBackend`. This gets tricky in combination with type functions like `SimpleRemote b`.