data is a reserved word in Haskell