public static function full($object): string
    {
        if (is_string($object)) {
            return str_replace('.', '\\', $object);
        }

        if (is_object($object)) {
            return trim(get_class($object), '\\');
        }

        $message = sprintf(
            '%s expects $object to be an object or string; received (%s) %s',
            __METHOD__,
            gettype($object),
            VarPrinter::toString($object)
        );
        throw new TypeException($message);
    }