from typing import Iterable
from typing import Callable


def compose_filters(filters: Iterable[Callable[..., bool]]) -> Callable[..., bool]:
    """
    Compose a sequence of filter functions.

    The resulting function returns True if all arguments also return True.
    """

    filters = tuple(filters)
    if not filters:
        return lambda *args: True
    elif len(filters) == 1:
        return filters[0]
    else:
        return lambda *args: all(fn(*args) for fn in filters)