Copy some grammar from ghc