Asserts if a given values are a coroutine function.

    Arguments:
        **kw (mixed): value to check if it is an iterable.

    Raises:
        TypeError: if assertion fails.

def assert_corofunction(**kw):
    """
    Asserts if a given values are a coroutine function.

    Arguments:
        **kw (mixed): value to check if it is an iterable.

    Raises:
        TypeError: if assertion fails.
    """
    for name, value in kw.items():
        if not asyncio.iscoroutinefunction(value):
            raise TypeError(
                'paco: {} must be a coroutine function'.format(name))