Я бы подумал, что это потому, что нет никакого способа сделать их конкретными:
class Foo extends Table {
override val records = 3
}
потерпит неудачу, потому что records
является приватным для Table
.
Это сделает Table
бесполезным. Я не вижу, что это повредит чему-либо, просто это почти наверняка указывает на ошибку программиста.