Alex, возьми ручку и просто распиши все. Можешь начать с контрвариантности, а потом показать что Hom-функтор - это профунктор. Там буквально пару строк и заодно поймешь все.
Если объяснять просто на словах, то получается, что для g: A -> B мы можем менять тип возвращаемого значения с помощью композиции и тип входящего с помощью прекомпозиции.
Тоесть имея f: C -> A и h: B -> D мы можем сделать “бутерброд”: h o g o f. Вот эта “бутербродная” природа и есть профункториальность. Она еквивалентна контрвариантности по первому аргументу (прекомпозиция) и ковариантности по второму (композиция).