[Haskell-cafe] extensible data types in Haskell?