@avb1989: you can declare common property in the interface and override it in the constructor of data class:
Copy code
interface Common {
val name: String
}
data class Implementor(override val name: String, val prop2 : Boolean) : Common
data class AnotherImplementor(override val name: String, val prop3 : Int) : Common