Совершенно точно, что стоит посмотреть на монады со стороны именно монадного умножения, а не bind.
Это более общее определение и эквивалентно "программистскому" оно только для категорий специального вида (какой является, например, Hask).
Ну и в целом, такое определение совершенно точно позволит лучше понимать, что такое монада.
Потом, можно посмотреть на моноидальные категории (может быть, для начала, какого-то более простого вида, типа симметричных или вообще строгих) и определение моноида в моноидальной категории.
Потом увидеть, что определение монады, это оно и есть, только в качестве моноидального произведения выступает композиция функторов.
Потом разобрать понятие алгебры для монады.
Оно интересное даже в чисто программистском смысле даже на таких функторах, как Maybe.
И обязательно примеры.
Категории алгебр тоже, наверное, будут любопытными...