// ISSUE: KT-50827 fun box(): String { val box = ClassWithBoundedTypeParameter( build { setTypeVariable(TargetType()) } ) consumeAnyBuildee(box.buildee) return "OK" } class TargetType fun consumeAnyBuildee(value: Buildee) {} class ClassWithBoundedTypeParameter(val buildee: Buildee) class Buildee { fun setTypeVariable(value: TV) { storage = value } private var storage: TV = TargetType() as TV } fun build(instructions: Buildee.() -> Unit): Buildee { return Buildee().apply(instructions) }