[Haskell] new "primitive" instances of Data?