final public function get(string $type): object
    {
        if ($this->supports($type)) {
            $ret = $this->getObject($type);
            if ($ret instanceof $type) {
                return $ret;
            }
            throw new TypeError;
        }

        throw new UnavailableTypeException;
    }