If Kotlin supports compile class "namespace" in different files, it means that the class of "namespace" is a partial class. Why not extend this capability to other classes in the module? For example
// generated/MyClass.kt
partial class MyClass {
val one: Int = 1
}
// hand-written/MyClass.kt
partial class MyClass {
val two: Int = 2
}
fun test() {
val myClass = MyClass()
myClass.one = -1
myClass.two = -2
}
P.S.
Trait as an argument not taken into account. These are different things.