Z-machine interpreter in Haskell