[Haskell-cafe] GADTs and instances