public function setIf(string $abstract, $concrete, bool $shared = false) : ContainerInterface
    {
        if (! $this->has($abstract)) {
            $this->set($abstract, $concrete, $shared);
        }

        return $this;
    }