anchor.diff:                      Map.add nonterminal edges gotoEdges)
   
               let startSymbolCount = Set.count processedSpec.StartSymbols
  -            let gotos = ResizeArray ()
  +            let gotos =
  +                // Initialize to a reasonable size to avoid small re-allocations.
  +                ResizeArray (4 * gotoEdges.Count)
               let offsets = Array.zeroCreate (startSymbolCount + gotoEdges.Count)
   
               // Add entries for the "fake" starting nonterminals.
  
positive.code:             let actionCountByState =
                  actionsByState
                  |> Map.map (fun _ actions ->
                      List.length actions)                    
  
              /// The most-frequent parser action (if any) for each parser state.
              let mostFrequentAction =
  
negative.code:         (Map.empty, map)
          ||> Map.fold (fun valueMap _ value ->
              Map.add value None valueMap)
  
      /// "Flattens" an array of tuples into an array of values.
      let private flattenTupleArray (array : ('T * 'T)[]) =
          let len = Array.length array
          let flattened = Array.zeroCreate <| 2 * len
          for i = 0 to len - 1 do
              let a, b = array.[i]
              let idx = 2 * i
              flattened.[idx] <- a
              flattened.[idx + 1] <- b
          flattened
  
      /// The name of the end-of-input terminal.
      let [<Literal>] private endOfInputTerminal : TerminalIdentifier = "end_of_input"
  