Android Coroutine Looper

I have been studying the coroutines and their applications in Android when a natural question came into my mind. Why don’t we use a non-blocking implementation of Main Looper that processes the message queue inside the main coroutine so that we could use suspending functions in any part of the application without explicitly launching new coroutines?

I’m nowhere near an expert in coroutines, but I think that such enhancement could potentially be useful, even though may require a complete revision of the Android’s platform code.