I'll move this stuff to `Grammar.scala` after we merge.