Haskellでメモ化って相性が悪そうに思うけど、どうやってるの?