anchor.diff:  open Farkle
   open Farkle.Monads
   open System
  -
  -type RecordType =
  -    | Charset = 67uy
  -    | DFAState = 68uy
  -    | InitialStates = 73uy
  -    | LRState = 76uy
  -    | Parameter = 80uy
  -    | Rule = 82uy
  -    | Symbol = 83uy
  -    | CharacterRanges = 99uy
  -    | Group = 103uy
  -    | GroupNesting = 110uy
  -    | Property = 112uy
  -    | Counts = 116uy
  +open System.Text
   
   type Entry =
       | Empty
  
positive.code: 
      open StateResult
  
      let byteToChar = (*) 1uy >> char
      let takeChar = Seq.takeOne() |> mapFailure SeqError <!> byteToChar
  
      let takeChars count = count |> Seq.take |> mapFailure SeqError <!> (Seq.map byteToChar)
  
      let takeByte = takeChar <!> byte
  
      let takeBytes count = count |> takeChars <!> (Seq.map byte)
  
      let ensureLittleEndian x =
          if BitConverter.IsLittleEndian then
  
negative.code:     }
  
      let readEntry = sresult {
          let! entryCode = takeByte <!> char
          match entryCode with
          | 'E' -> return Empty
          | 'b' -> return! takeByte <!> Byte
  