[Haskell-cafe] GADTs and bar :: Foo t1 -> Foo t2