haskell is useless because of controlled side effects (hint, usefulness and controlled side effects are not orthogonal as depicted in the video). you should look at node.js if you want a useful language with strictly controlled side effects.
because node.js is purely functional language, all you can do is to emit events that'll hopefully incur side effects and emit the result of side effects back, if any.
this style of homoiconic paradigm (where everything is X) enables compiler generalize tricky parts for ultimate optimizations useless languages like haskell can't even imagine.
and, node.js is not only useful and pragmatic, but it is also very academic, unlike useless language like haskell. when you're programming in node.js, you're essentially working on geometry of objects and their linkages in the form of event flow. And you can easily apply various transformations from abstract geometry (and category theory) when you design such complex and yet simple network of distributed systems. It's complex because you're talking about trillions of interacting agents. And it's simple because you have powerful language of algebra and category to succinctly express humongous systems.
node.js has already reached perfection. all it has left is to invent new mathematics and new science, and penetrate all areas of software industry not only limited to rocket science, space program, but also alien warfare and zombie survivals.
true accomplishment of node.js is that it reduced orthogonality of usefulness of a language and side effects into null using Nth dimensional morpho calculi logos.