Mutable closures in Haskell and nested IO | Hacker News Reader