Recursive generic in builder pattern

So, do you think that using reflection is only way to make it working in Kotlin?