[Haskell-beginners] DataKinds and GADTs question?