message: Some fixes for the graphQL Grammar.
diff: // keywords and Name
  // Name must not be placed into the TokenTypeList before any keywords
  // as it can match any keyword, so we use "orgCreateToken"
  + // TODO: create a NameOrKeyword token
  const Name = orgCreateToken({
  name: "Name",
  pattern: /[_A-Za-z][_0-9A-Za-z]*/
  })
  const Subscription = createKeywordToken({
  name: "Subscription",
  - pattern: "Subscription"
  + pattern: "subscription"
  })
  const Fragment = createKeywordToken({
  name: "Fragment",
  })
  $.RULE("VariableDefinition", () => {
  - $.CONSUME(Name)
  + $.SUBRULE($.Variable)
  $.CONSUME(Colon)
  $.SUBRULE($.Type)
  $.OPTION(() => {
  $.RULE("Directive", isConst => {
  $.CONSUME(At)
  $.CONSUME(Name)
  + $.OPTION(() => {
  $.SUBRULE($.Arguments, { ARGS: [isConst] })
  })
  + })
  $.RULE("TypeSystemDefinition", () => {
  $.OR([
  