Lift the I type member to a parameter.
Lift the I type member to a parameter. It is usually more
convenient to use Aux than a structural type.
See by method.
Like lift(fa).contramap(_k).
Partial application of type parameters to apply.
Partial application of type parameters to apply. It is often
more convenient to invoke ContravariantCoyoneda.by[F]{x: X =>
...} then ContravariantCoyoneda[...](...){x: X => ...}.
ContravariantCoyoneda[F,_] is a contravariant functor for any
F.
ContravariantCoyoneda[F,_] is a contravariant functor for any
F.
F[A] converts to ContravariantCoyoneda[F,A] for any F.