Doesn’t that construction only work in categories that also contain their own morphisms as objects since a profunctor maps (Cᵒᵖ × C) → Set and not the same like (Cᵒᵖ × C) → C? Since the category of Haskell types special, containing its own morphisms, so the profunctor could be like (haskᵒᵖ × hask) -> hask? or I just don’t understand it.
Doesn’t that construction only work in categories that also contain their own morphisms as objects since a profunctor maps
(Cᵒᵖ × C) → Set
and not the same like(Cᵒᵖ × C) → C
? Since the category of Haskell types special, containing its own morphisms, so the profunctor could be like(haskᵒᵖ × hask) -> hask
? or I just don’t understand it.