anchor.diff:                          let symbol = newTerminal name
                           addTerminal symbol vt
                           symbol
  -                terminalOperatorKeys.TryAdd(symbol, te.IdentityObject) |> ignore
  +                
  +                match operatorKeys with
  +                | Some (terminalKeys, _) ->
  +                    terminalKeys.TryAdd(symbol, te.IdentityObject) |> ignore
  +                | None -> ()
               b.MoveToImmutable()
   
           let struct(nonterminals, nonterminalMap) =
  
positive.code:                 FallbackStringComparers.get metadata.CaseSensitive)
          let groups = ImmutableArray.CreateBuilder()
  
          let terminalOperatorKeys = Dictionary()
          let productionOperatorKeys = Dictionary()
  
          let terminals =
              let b = ImmutableArray.CreateBuilder(dfDef.TerminalEquivalents.Count)
  
negative.code:             NoiseSymbols = noiseSymbols
          }
  
          let conflictResolver =
              match operatorKeys with
              | None -> LALRConflictResolver.Default
              | Some (terminalKeys, productionKeys) ->
                  let resolverComparer = OperatorKeyComparer.Get metadata.CaseSensitive
                  PrecedenceBasedConflictResolver(dfDef.OperatorScopes, terminalKeys, productionKeys, resolverComparer)
  
          let properties = {
              Name = let (Nonterminal(_, name)) = startSymbol in name
  