remove empty() and has_result() from asymmetric coroutine