For example, if coroutines were directly supported by the VM, I’d imagine that would simplify things greatly. At the moment, breakpoints in suspending functions don’t seem to work properly (at least not for me in Android Studio) and that’s probably because of the code generation behind coroutines.