I think it's clear from the languages given that the added complexity is to handle UI workflows, no?
But that management is the crux of the issue. The complexity of hopping into and out of contexts is what is exposed with async/await and coroutine scopes and hidden by the more simple syntax.