anchor.diff:              | (true, _), (true, _) -> CannotChoose DifferentOperatorGroup
               | (true, _), (false, _) | (false, _), (true, _) -> CannotChoose PartialPrecedenceInfo
               | (false, _), (false, _) -> CannotChoose NoPrecedenceInfo
  -        | _ -> CannotChoose NoPrecedenceInfo
  +        | ValueSome _, ValueNone | ValueNone, ValueSome _ -> CannotChoose PartialPrecedenceInfo
  +        | ValueNone, ValueNone -> CannotChoose NoPrecedenceInfo
  
positive.code: // Copyright (c) 2020 Theodore Tsirpanis
  // 
  // This software is released under the MIT License.
  // https://opensource.org/licenses/MIT
  
  
negative.code:             | (true, _), (true, _) -> CannotChoose DifferentOperatorGroup
              | (true, _), (false, _) | (false, _), (true, _) -> CannotChoose PartialPrecedenceInfo
              | (false, _), (false, _) -> CannotChoose NoPrecedenceInfo
          | (true, _), ValueNone | (false, _), ValueSome _ -> CannotChoose PartialPrecedenceInfo
          | (false, _), ValueNone -> CannotChoose NoPrecedenceInfo
  
      override _.ResolveReduceReduceConflict prod1 prod2 =
          match getProductionObj prod1, getProductionObj prod2 with
          | ValueSome prod1Obj, ValueSome prod2Obj ->
              match groupLookup.TryGetValue prod1Obj, groupLookup.TryGetValue prod2Obj with
              | (true, prod1Group), (true, prod2Group) when prod1Group = prod2Group ->
                  let group = precInfoLookups.[prod1Group]
  