public function provides(array $provides)
    {
        $this->compiled = Collection::make($provides)->mapWithKeys(function ($provider) {
            $options = $this->manifest[$provider] ?? $this->recompileProvider($provider);

            $this->loadDeferredServiceProvider($provider, $options);
            $this->loadEagerServiceProvider($provider, $options);
            $this->loadQueuedServiceProvider($provider, $options);

            return [$provider => Arr::except($options, ['instance'])];
        })->all();
    }