Монады - это не про синтаксис, а про возвращаемые значения и методы их компоновки. Соблюдение монадных законов, даже тогда, когда, кажется, что не нужно, сильно упрощает жизнь. Весьма существенно.
Ну. Таков мой опыт. Я когда в тупик захожу с кодом в котором появляется куча if-ов, с бэктрэкингом мерзким или с прохрдами по предоставленным пользователем деревьям, меня выручают монады. do-нотация тут и не при чём даже. Дело в том, как корректно абстрагировать шаги вычисления, чтобы они потом компоновались
Вот тут как раз не обязательно компоновать шаги вычислений, потому что они и так естественным образом компонуются в императивных языках. Потому что компоновка тут весьма проста.