anchor.diff:                      whitespaceRegex
               dfaSymbols <- (whitespaceRegex, Choice2Of4 whitespaceSymbol) :: dfaSymbols
           if usesNewLine then
  -            noiseSymbols.Add(noiseNewLine)
  -            dfaSymbols <- (newLineRegex, Choice2Of4 noiseNewLine) :: dfaSymbols
  +            match newLineSymbol with
  +            | Choice2Of4 x -> noiseSymbols.Add(x)
  +            | _ -> ()
  +            dfaSymbols <- (newLineRegex, newLineSymbol) :: dfaSymbols
           let symbols = {
               Terminals = terminals.ToImmutable()
               Nonterminals = nonterminals.ToImmutable()
  
positive.code:             | Choice3Of4 NewLine ->
                  usesNewLine <- true
                  match newLineSymbol with
                      | Choice1Of4 nlTerminal -> LALRSymbol.Terminal nlTerminal
                      | _ ->
                          let nlTerminal = Terminal(uint32 terminals.Count, "NewLine")
                          nlTerminal
                          |> Choice1Of4
                          |> (fun nlTerminal ->
                              newLineSymbol <- nlTerminal
                              dfaSymbols <- (newLineRegex, nlTerminal) :: dfaSymbols)
                          LALRSymbol.Terminal nlTerminal
              | Choice4Of4 nont when nonterminalMap.ContainsKey(nont) ->
                  LALRSymbol.Nonterminal nonterminalMap.[nont]
              | Choice4Of4 nont ->
  
negative.code:                     productions.Add(prod)
                      fusers.Add(aprod.Fuse))
                  LALRSymbol.Nonterminal symbol
  
          let startSymbol =
              match df |> Symbol.specialize |> impl with
              // Our grammar is made of only one terminal.
  