これは、時間を文字列に変換して にキャッシュさせるコードだ。あるスレッドが、毎秒このコードを呼び出す。不思議なことに、クライアントからのアクセスがあるとスペースリークにはならないのだが、長時間アクセスがないとサーバのプロセスが太っていた。
このリークは、結果を利用していないために起こる。そもそも、このコードは古い値を利用せずに、単に新しい値で置き換えているだけだから、writeIORef で十分だ。
では、カウンターのように古い値を使う場合はどうすればいいだろう?