@Jonathan Lamothe I think it's a big deal because every other language ate and subsumed IO out of what felt like necessity—how else can you do anything? Only Haskell held IO at arm's length and wrapped it up, and said, I'll evaluate your expressions, sure, but running them? That’s ultimately IO's job.