ジェネリックにネストされた構造型の奇妙な構造を誰かが説明できますか:
implicit def Function1Functor[R]: Functor[({type λ[α]=(R) => α})#λ] =
new Functor[({type λ[α]=(R) => α})#λ] ....
この例は Scalaz ライブラリからのものです: Functor.scala
なぜこの構造が必要なのですか?書くのは簡単ではありません:
implicit def Function1Functor[R,A]: Functor[R =>A]
また
implicit def Function1Functor[R,A]: Functor[Function1[R,A]]