[Haskell-cafe] Free theorem - what do we need it for