Also add an implementation for the `Distributor` type which makes it easier to implement new `Provider` types.