anchor.diff:      //
       // OPTIMIZE : Modify this function to use a LazyList to hold the errors
       // instead of an F# list to avoid the list concatenation overhead.
  +    // OPTIMIZE : Simplify this function using the Cps.choice workflow from ExtCore.
       let rec validateAndSimplify pattern cont =
           match pattern with
           | Pattern.Epsilon ->
  
positive.code:         createDfa initialPending compilationState
  
      //
      let clausesAcceptedByDfaState =
          (Map.empty, compilationState.FinalStates)
          ||> Set.fold (fun map finalDfaStateId ->
              let acceptedRules : Set<RuleClauseIndex> =
                  // Get the regular vector represented by this DFA state.
                  compilationState.DfaStateToRegularVector
                  |> Map.find finalDfaStateId
                  // Determine which lexer rules are accepted by this regular vector.
                  |> RegularVector.acceptingElements
                  // Map the indices of the patterns in the regular vector back to their
                  // original RuleClauseIndex (it can be different if there are EOF-accepting
                  // clauses defined within the same rule).
                  |> Set.map (Array.get patternIndices)
                  
              Map.add finalDfaStateId acceptedRules map)
  
      (* TODO :   Add code here to generate warnings about overlapping rules. *)
  
  
negative.code: module FSharpLex.Compile
  
  open System.Diagnostics
  open LanguagePrimitives
  open ExtCore
  open ExtCore.Collections
  open SpecializedCollections
  open Graph
  open Regex
  open Ast
  