code: public function instance(object $object): Binding
      {
          if (!$object instanceof $this->definition->typeName) {
              throw new \InvalidArgumentException(\sprintf('%s is not an instance of %s', \get_class($object), $this->definition->typeName));
          }
          
          $this->definition->instantiator = new Instance($object);
          
          return $this;
      }
docs: Binds to the given object instance.
  
  Binding to an instance implies that the bound object is shared and decorators have no effect!
  
  @param object $object
  @return Binding
  
  @throws \InvalidArgumentException