In a lot of modern languages (such as Python), asynchronous functions (those that return coroutines) must be explicitly marked as such:
async function foo():
pass
Is there any specific reason for this, and if so isare there a way to avoid itany alternatives?