protected function registerDeferredServiceProvider($provider, ServiceProvider $instance): array
    {
        $deferred = [];

        foreach ($instance->provides() as $provide) {
            $deferred[$provide] = $provider;
        }

        return [
            'instance' => $instance,
            'eager'    => false,
            'when'     => $instance->when(),
            'deferred' => $deferred,
        ];
    }