Microbenchmarks are very funny and they give us an idea of the power of Kotlin coroutines, but they don't represent a real-case scenario.
Let's introduce our real-case scenario:
enum class Gender { MALE, FEMALE; companion object { fun valueOfIgnoreCase(name: String): Gender = valueOf(name.toUpperCase()) }}typealias UserId = Intdata class User(val id: UserId, val firstName: String, val lastName: String, val gender: Gender)data class Fact(val id: Int, val value: String, val user: User? = null)interface UserService { fun getFact(id: UserId): Fact}
Our UserService interface has just one method—getFact will return a Chuck Norris-style fact about our user, identified by the user ID.
The implementation should check ...