id height weight age ... on Human { name languages hobbies } ... on Cat { isPet } } } data class Animal( val id: String, val height: Int, val weight: Int, val age: Int, val asHuman: AsHuman?, val asCat: AsCat? ) data class AsHuman( val name: String, val languages: List<String>, val hobbies: List<String> ) data class AsCat( val isPet: Boolean ) →