7.2 Monoidal categories, Functoriality of ADTs, Profunctors