[Haskell-cafe] memoization using unsafePerformIO