anchor.diff:  
                   ReaderState.liftState (LrTableGenState.stateId initialParserState)
   
  -            return! createTableImpl (grammar, predictiveSets) (Set.singleton initialParserStateId)
  +            return! createTableImpl (grammar, predictiveSets) (TagSet.singleton initialParserStateId)
               }
   
           // Execute the workflow to create the parser table.
  
positive.code:     let rec private createTableImpl (grammar : AugmentedGrammar<'Nonterminal, 'Terminal>, predictiveSets) workSet
          (env : LrTableGenEnvironment<_,_>) (tableGenState : Lr1TableGenState<_,_>) =
          // If the work-set is empty, we're finished creating the table.
          if Set.isEmpty workSet then
              (), tableGenState
          else
              let workSet, tableGenState =
                  ((Set.empty, tableGenState), workSet)
                  ||> Set.fold (fun workSet_tableGenState stateId ->
                      /// The set of parser items for this state.
                      let stateItems = TagBimap.find stateId tableGenState.ParserStates
  
                      (workSet_tableGenState, stateItems)
                      ||> Set.fold (fun (workSet, tableGenState) item ->
                          // If the parser position is at the end of the production,
                          // add a 'reduce' action for every terminal (token) in the grammar.
                          match item.CurrentSymbol with
  
negative.code:                                 // If this is a new state, add it to the list of states which need to be visited.
                                  let workSet =
                                      if isNewState then
                                          TagSet.add targetStateId workSet
                                      else workSet
  
                                  // The next symbol to be parsed is a nonterminal,
  