pure FP is just like pure OO
As someone who did OO for ten years and is doing FP full time, this statement is absurd.
Why constraint ourselves?
You are not constrained in any way by FP, you just have to make everything
explicit so programs are easier to read and reason about. There's nothing I can't do in a pure FP language.
The world is not pure,
The world is not a touring machine either, does this argument have more substance or is it just an offhanded comment...?
our programs don't become ANY better because of the IO monad
Do you actually have any experience with functional programming? Non rhetorical...it's such an odd thing to say.
Programs absolutely become better when you encapsulate IO in a monadic context. The entire point is to demarcate what functions interact with the world and which don't. This makes testing easier, reading code easier, composition easier. What functional language do you have experience with that would lead you to these bizzare conclusions? :)