open class Base(val x: T1) class Derived(x: T2) : Base(x) fun create(x: T3) /* Derived */ = Derived(x)