How does it compare to Kotlin async? I find Kotlin generally hits a good balance across the board.