есть категория X с объектами { A, B, C }
есть эндофункторы на этой категории: 1, F : X -> X
1 переводит каждый объект и морфизм категории X в себя же
F пусть делает что-то другое, но на выходе тоже объект и морфизм из X
и вот эти функторы 1, F тоже образуют категорию, где объекты - { 1, F }, а морфизмы - естественные преобразрвания между функторами
и вот тройка из {F, alpha : 1 -> F, beta : F . F -> F} будет моноидом, alpha - единица, композиция с beta - умножение
под alpha подходит pure, так как если перевести естественое преобразование в морфизм, получится forall x. 1 x -> F x, где 1 x = x, то есть alpha :: x -> F x
под бету подходит join, потому что F . F -> F = forall x. F (F x) -> F x