This explains why Kotlin cannot support data-class inheritance.
You cannot extend a Data class or make it abstract. So probably, you won’t use them in a core domain model.
This limitation is not Kotlin’s fault. There is no way to generate the correct value-basedequals()
without violating the Liskov Principle. That’s why Kotlin doesn’t allow inheritance for Data classes.