Т.е. копредставимых через функтор, который представим
иными словами, если у меня есть
trait Foo[A, B]
как называть тупекласс в форме
trait CoRepHom[P[_, _]]{
type R
def tabulate[A, B](k: (R => A) => B): P[A, B]
def index[A, B](p: P[A, B], f: R => A): B
}