Я не могу ответить. Помню do-нотацию. Ко по мне она очень смахивает на цепочку операторов. Обобщенную нотацию еще не изучал.
Я подходил к вопросу "Что есть монада?" по ее интерфейсам. У нее есть return и join, а от функтора ей достался fmap. С объектом с таким набором методом можно удобно работать. Что запросы ченйить, что просто ивенты всякие в кучу складывать, группировки, фильтрации и и тд.