Pure, mutable state in Haskell with the ST monad | Hacker News Reader