Kotlin: cómo henetworkingar la propiedad en la class de datos

Tengo una class Token abstracta declarada así:

abstract class Token(var index: Int = 0) { open fun merge(toMerge: Token): Token? { return null } } 

Deseo henetworkingar la propiedad del índice en la class de datos, así:

 data class CloseLoop(index: Int, var openLoopIndex: Int = 0) : Token(index) 

Pero me da error Data class primary constructor must have only property (val / var) parameters

¿Qué tengo que hacer para arreglar esto?