anchor.diff:                  Some ()
               | Some _ -> None
   
  -        let fixGroupStartSymbols symbols groups =
  -            let mutable i = 0
  -            let mutable doContinue = true
  -            while i < Array.length symbols && doContinue do
  -                let sym = &symbols.[i]
  -                match sym with
  -                | GroupStart (_, name) as s ->
  -                    match Array.tryFindIndex (fun {StartSymbol = ss} -> ss = s) groups with
  -                    | Some idx -> sym <- GroupStart (Indexed.create <| uint32 idx, name)
  -                    | None -> doContinue <- false
  -                | _ -> do()
  -                i <- i + 1
  -            if doContinue then
  -                Ok ()
  -            else
  -                Error UnknownEGTFile
  -
       open Implementation
   
       let read r =
           let properties = System.Collections.Generic.Dictionary()
           let mutable isTableCountsInitialized = false
  +        let mutable hasReadAnyGroup = false
           let mutable charSets = [| |]
           let mutable symbols = [| |]
           let mutable groups = [| |]
  
positive.code:             function
              | RMCons(String name, RMCons(UInt16 containerIndex, RMCons(UInt16 startIndex, RMCons(UInt16 endIndex, RMCons(UInt16 advanceMode, RMCons(UInt16 endingMode, RMCons(Empty, RMCons(UInt16 _nestingCount, xs)))))))) -> maybe {
                  let! containerSymbol = fSymbol containerIndex
                  let! startSymbol = fSymbol startIndex
                  let! endSymbol = fSymbol endIndex
                  let! advanceMode = match advanceMode with | 0us -> Some Token | 1us -> Some Character | _ -> None
                  let! endingMode = match endingMode with | 0us -> Some Open | 1us -> Some Closed | _ -> None
  
negative.code:             >> failIfNone UnknownEGTFile
          either {
              do! EGTReader.readEGT fHeaderCheck fRecord r
              let! (initialDFA, initialLALR) = !initialStates |> failIfNone UnknownEGTFile
              let dfaStates = SafeArray.ofArrayUnsafe dfaStates
              let lalrStates = SafeArray.ofArrayUnsafe lalrStates
  