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