from typing import Any
from typing import TypeGuard
from typing import Callable
from typing import Coroutine
import asyncio


def acallable(arg: Any) -> TypeGuard[Callable[..., Coroutine[Any, Any, Any]]]:
    """Type guard for coroutine (async) functions"""
    return callable(arg) and asyncio.iscoroutinefunction(arg)