* and ! now apply both to functions and coroutines