def after_loop(self, coro):
if not (inspect.iscoroutinefunction(coro) or inspect.isawaitable(coro)):<EOL><INDENT>raise TypeError('<STR_LIT>'.format(type(coro)))<EOL><DEDENT>self._after_loop = coro<EOL>
A function that also acts as a decorator to register a coroutine to be
        called after the loop finished running.

        Parameters
        ------------
        coro: :term:`py:awaitable`
            The coroutine to register after the loop finishes.

        Raises
        -------
        TypeError
            The function was not a coroutine.