LRU Cache in Haskell