1 2 3 4 5
object Test extends App { val outer1 = new D[Int] val outer2 = new outer1.C[String] outer2.foo[Boolean] }