trait C[+T <: C[T, U], -U <: C[T, U]] { }