Rubyだとブロック付きのハッシュを使うとお手軽にメモ化できるんだけど:

 f = Hash.new { |hash, x| hash[x] = x * 2 }
 g = f[2] + f[2]

Haskellでは、どう書けばいいのだろうか?