Changes in new versions / Kotlin 1.9

sealed interface Result

// *** before: ***
object OldLoading : Result
// println(OldLoading) printed something like OldLoading@5ca881b5

// *** in version 1.9: ***
data object Loading : Result
data class Success(val value: String) : Result
data class Failure(val error: String) : Result

fun main() {
    println(OldLoading)
    println(Loading)              // Loading - a readable toString()
    println(Loading == Loading)   // true, as for any object
    println(Success("ok"))
}