code: protected function turnIntoResolvableClosure($abstract, $concrete)
      {
          return function (Container $container, $parameters = []) use ($abstract, $concrete) {
              return ($abstract == $concrete ? $container->resolve($abstract)
                  : $container->resolve($concrete, $parameters));
          };
      }
docs: Turn class name into resolvable closure.
  
  @param string $abstract The class name
  @param \Closure|string $concrete Can be instance of \Closure or class name.
  @return \Closure