[Haskell-beginners] reifying based-on type of a newtype or data