[Haskell-cafe] Bug in GADT Implementation?