Questions about profunctors, type constructors which support covariant mapping over a type parameter, like a plain functor, and contravariant mapping over a different one.