Por que um IO aninhado em outras mônadas não é executado? Existe uma maneira de forçá-los a fazê-lo?

Este é um acompanhamento da minha última pergunta.Ação de E / S aninhada em outras mônadas que não executam

A solução para essa pergunta foi remover algumas das mônadas, e isso permitiu a execução da ação de IO.

Por que eu precisava desnatar as mônadas? Existe uma maneira de executar o IO sem desanimar?

Nota: Isto é ume se mais do que uma questão sobre boas ou más práticas.

questionAnswers(3)

yourAnswerToTheQuestion