1 2 3 4 5 6 7 8 9 10 11
class Foo[A] trait Bar[DD[_,_]] { val x: DD[Int, Int] } trait Baz extends Bar[[X,Y] => Foo[X]] { def foo[M[_,_]](x: M[Int, Int]) = x foo(x) }