open class Base(val x: T) // constructor Base(T) // │ Derived..x: T // │ │ class Derived(x: T) : Base(x) // Derived // │ constructor Derived(T) // │ │ create.x: T // │ │ │ fun create(x: T): Derived = Derived(x)