make grammar more Haskell-like