これらの構造の読み方については、Lang 仕様またはブログの参照をどこで見つけることができますか。
trait GenericFunctor[->>[_, _ ], ->>>[_, _ ], F[_]] {
def fmap[A, B](f: A ->> B): F[A] ->>> F[B]
}
また
trait Category[~>[_, _ ]] {
def compose[A, B, C](f: B ~> C)(g: A ~> B): A ~> C
def id[A]: A ~> A
}
タイプ名の場合 - コード F[A] ->>> F[B]
はコンパイル可能であってはなりませんが、