Kotlin: classe selada não pode "conter" classes de dados? Por quê?

OK, agora que Kotlin saiu oficialmente e estou começando a jogar novamente, estou bastante confuso por precisar escolher entre as vantagens desealed edata mas de alguma forma não pode ter os dois.

Isso, por exemplo, parece fazer sentido para mim, mas não compila:

sealed class Expr {
    data class Const(val number: Double) : Expr()
    data class Sum(val expr1 : Expr, val expr2 : Expr) : Expr()
}

porque as classes de dados não podem estender outras classes.

Há algo que estou perdendo?

questionAnswers(1)

yourAnswerToTheQuestion