[Haskell-cafe] irrefutable patterns for existential types / GADTs