title: Dependency Injection with package service provider not being detected
body: <p>I am trying to utilize a service provider from a custom package:</p>
  <pre><code>class ReferralsServiceProvider extends ServiceProvider
      {
          public const PACKAGE_NAME = 'referrals';
      
          /**
           * Perform post-registration booting of services.
           *
           * @return void
           */
          public function boot()
          {
              ...
          }
      
          /**
           * Register the application services.
           *
           * @return void
           */
          public function register()
          {
              $this-&gt;app-&gt;bind(PreReferralsRepositoryInterface::class, WorkflowPreReferrals::class);
          }
  </code></pre>
  <p>The service provider is registered in the packages composer.json file so it's auto-registered in the utilizing application.</p>
  <pre><code>&quot;extra&quot;: {
      &quot;laravel&quot;: {
        &quot;providers&quot;: [
          &quot;Propel\\Referrals\\ReferralsServiceProvider&quot;
        ]
      }
    }
  </code></pre>
  <p>However in one of the controllers we have in main application:</p>
  <pre><code>class ReferalValidationController extends Controller
  {
      protected $referrals;
  
      public function __construct(PreReferralsRepositoryInterface $referrals)
      {
          ...
      }
  </code></pre>
  <p>I get the error:</p>
  <pre><code>Argument 1 passed to App\Http\Controllers\ReferalValidationController::__construct() must be an instance of Propel\Referrals\Repositories\PreReferralsRepositoryInterface, instance of Propel\Referrals\Repositories\WorkflowPreReferrals given
  </code></pre>
  <p>I know for a fact the service provider is registered as I can change the second parameter of the binding to another class and it will then reflect in the error. Have I missed out something critical in the binding? Its almost as if the controller is unaware of the service provider.</p>