jan.rabe
open class A interface B<R> class C<out T, out S>(val t: T, val s: S) where S : A, S : B<out T>
val c : C<Any, A>? = null
val c : C<Any, B<Any>>? = null