Вот эта страница
https://ncatlab.org/nlab/show/monad начинает с того, что описывает монады в терминах бикатегорий. Интересно, в ФП рассказывают ли про бикатегории до монад?
Когда я впервые заинтересовался ФП, поинтересовался, определены ли в Хаскелле строки как свободный моноид с cancellation на множестве char'ов, оказалось, что нет, мне стало менее неинтересно, и я так ничего и не узнал про ФП в итоге.