Consider the below:
trait AA { def children: List[AA] } trait BB { def children: List[BB] } class CC extends AA, BB { override def children: Lis