[Haskell-cafe] advantages of using fix to define rcursive functions