[Haskell-cafe] GADT and problems with rigid type variables