gildor
sealed class Base { abstract val base: String } data class Simple(val foo: Int, override val base: String) : Base()