[Haskell] GADTs are not nice to me ;-)