from typing import Any
import types


def _is_parameterized_tuple_anotation(annotation: Any) -> bool:
    """Verifies if type annotation is a parameterized tuple.

    Args:
        item: a type annotation.

    Returns:
        `True` if verified, `False` otherwise.

    Raises:
        ValueError: if the annotation include variadic tuples.
            Variadic tuples nested in other then tuple annotations
            (e.g. `Sequence(tuple[Any, ...])`) are fine.
    """
    if annotation in (tuple, Ellipsis):
        raise ValueError(
            "Connot flatten a variadic tuple annotation "
            "such as `tuple[Any,...]` or `tuple`."
        )
    return isinstance(annotation, types.GenericAlias) and annotation.__origin__ is tuple