anchor.diff:              NoiseSymbols = noiseSymbols
           }
   
  -        let resolverComparer = OperatorKeyComparer.Get metadata.CaseSensitive
  -        let resolver =
  -            PrecedenceBasedConflictResolver(dfDef.OperatorScopes, terminalOperatorKeys, productionOperatorKeys, resolverComparer)
  +        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
  
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:                     b.MoveToImmutable()
                  let production =
                      {Index = uint32 b.Count; Head = nonterminalMap.[head]; Handle = handle}
                  match abstractProd.ContextualPrecedenceToken, operatorKeys with
                  | null, _ | _, None -> ()
                  | cpToken, Some(_, productionKeys) -> productionKeys.Add(production, cpToken)
                  b.Add production
              b.MoveToImmutable()
  
  