[Haskell-beginners] Caching evaluation of lazy lists