Вот это одна из причин почему mtl-style протекает
и это спорное (потому что можно определить алиасы), но валидное утверждение. Но вот говорить, что фримонадки — это единственное решение — это неверное утверждение. В моем ответе я как раз и показал, как написать эквивалентный фримонадочному код, только с меньшим количество бойлерплейта (и скорее всего он еще и быстрее, потому что нет промеужточного представления)