open class Base(x: T) { val x: T } class Derived(x: T) : Base() fun create(x: T): Derived