Interactive Fiction in Haskell