Although I get why Haskell wants Pure FP. And, for theorem provers it makes a lot more sense.
Haskell's selling point is to be default lazy. This enforces pure FP and basically all of its other quirks. Laziness was popular in the programming language research community because it has a lot of fun properties.
But, I am surprised just as anyone that Haskell is sold as a general programming language. Resource constraints, and programmers that do not like the extra complexity and math are obvious problems for it.