anchor.diff:          |> epsilonClosureImpl Set.empty nfa
   
       //
  -    type CompilationState<'Symbol when 'Symbol : comparison> = {
  +    type CompilationState = {
           //
           Transitions : LexerDfaGraph<DfaState>;
           /// Maps sets of NFA states to the DFA state representing the set.
  
positive.code:     }
  
      //
      let inline private tryGetDfaState nfaStateSet (compilationState : CompilationState<'Symbol>) =
          Map.tryFind nfaStateSet compilationState.NfaStateSetToDfaState
  
      //
      let inline private getNfaStateSet dfaState (compilationState : CompilationState<'Symbol>) =
          Map.find dfaState compilationState.DfaStateToNfaStateSet
  
      //
      let private createState nfaStateSet (compilationState : CompilationState<'Symbol>) =
          // Preconditions
          if Set.isEmpty nfaStateSet then
              invalidArg "nfaStateSet" "A DFA state cannot be created for the empty set of NFA states."
  
negative.code:         dfaState, compilationState
  
      /// The main NFA -> DFA compilation function.
      let rec private compileRec (nfa : Nfa) (pending : Set<DfaStateId>) (compilationState : CompilationState) =
          // If there are no more pending states, we're finished compiling the DFA.
          if Set.isEmpty pending then
              compilationState
  