finished translation of "how lazy evaluation works in haskell"