- Instantiating an annotated type is equivalent to instantiating the
    underlying type::
        assert Annotated[C, Ann1](5) == C(5)
    - Annotated can be used as a generic type alias::
        Optimized: TypeAlias = Annotated[T, runtime.Optimize()]
        assert Optimized[int] == Annotated[int, runtime.Optimize()]
        OptimizedList: TypeAlias = Annotated[list[T], runtime.Optimize()]
        assert OptimizedList[int] == Annotated[list[int], runtime.Optimize()]
    - Annotated cannot be used with an unpacked TypeVarTuple::
        Variadic: TypeAlias = Annotated[*Ts, Ann1]  # NOT valid
      This would be equivalent to::
        Annotated[T1, T2, T3, ..., Ann1]
      where T1, T2 etc. are TypeVars, which would be invalid, because
      only one type should be passed to Annotated.
    """
    __slots__ = ()
    def __new__(cls, *args, **kwargs):
        raise TypeError("Type Annotated cannot be instantiated.")
    @_tp_cache
    def __class_getitem__(cls, params):
        if not isinstance(params, tuple) or len(params) < 2:
            raise TypeError("Annotated[...] should be used "
                            "with at least two arguments (a type and an "
                            "annotation).")
        if _is_unpacked_typevartuple(params[0]):
            raise TypeError("Annotated[...] should not be used with an "
                            "unpacked TypeVarTuple")
        msg = "Annotated[t, ...]: t must be a type."
        origin = _type_check(params[0], msg, allow_special_forms=True)