Then maybe I'm misunderstanding the point of your reply. I was pointing out how monads are inconvenient to use in strictly evaluated languages. Why did you follow up with an example about how not using monads is convenient?
>> Then maybe I'm misunderstanding the point of your reply.
I was pointing out that your examples don't make sense, as it's trivial to
translate the Haskell code into another general purpose language (such as
Scheme, C, Perl, Fortran, etc), while impossible to translate into an eager (strictly evaluated) language (such as...?).
Additionally, the reason monads are cumbersome in other languages has
nothing to do with eager/lazy evaluation, or conditional computation, and
everything to do with the fact that monads exist in Haskell to solve it's
sequencing problem (arising from the fact that it's a declarative language).
Imperative languages have no problem with sequencing, and therefore have no
need for monads.