anchor.diff:                              ||> Set.fold (fun items production ->
                                   // Combine the production with each token which could
                                   // possibly follow this nonterminal.
  -                                (items, nontermFollowSetWithLookahead)
  +                                (items, firstSetOfRemainingSymbols)
                                   ||> Set.fold (fun items nontermFollowToken ->
                                       let newItem = {
                                           Nonterminal = nontermId;
  
positive.code:                         | Symbol.Terminal (Terminal _ as token) as symbol ->                            
                              /// The state (set of items) transitioned into
                              /// via the edge labeled with this symbol.
                              let targetState = Lr0.goto symbol stateItems grammar.Productions
  
                              /// The identifier of the target state.
                              let targetStateId, tableGenState =
  
negative.code:                         | Symbol.Terminal (Terminal _ as token) as symbol ->                            
                              /// The state (set of items) transitioned into
                              /// via the edge labeled with this symbol.
                              let targetState = Lr0Item.goto symbol stateItems grammar.Productions
  
                              /// The identifier of the target state.
                              let targetStateId, tableGenState =
  