def METHOD_NAME(func: F) -> F:
    @wraps(func)
    async def wrapper(*args: Any, **kwargs: Any) -> Any:
        for retry in retries(
            msg,
            timeout=timeout,
            delay=delay,
            factor=factor,
            cap=cap,
            exceptions=exceptions,
        ):
            async with retry:
                return await func(*args, **kwargs)
    return cast(F, wrapper)