[Haskell-cafe] strictness analysis on algebraic data types