anchor.diff:  
       open StateResult
   
  -    let byteToChar = (*) 1uy >> char
  -    let takeChar = Seq.takeOne() |> mapFailure SeqError <!> byteToChar
  +    let takeByte = Seq.takeOne() |> mapFailure SeqError <!> ((*) 1uy)
   
  -    let takeChars count = count |> Seq.take |> mapFailure SeqError <!> (Seq.map byteToChar)
  -
  -    let takeByte = takeChar <!> byte
  -
  -    let takeBytes count = count |> takeChars <!> (Seq.map byte)
  +    let takeBytes count = count |> Seq.take |> mapFailure SeqError <!> (Seq.map ((*) 1uy))
   
       let ensureLittleEndian x =
           if BitConverter.IsLittleEndian then
  
positive.code:     open EgtReaderImpl
      open StateResult
      open System.IO
  
      let readRecord = sresult {
          let! tag = takeChar
          if tag <> 'M' then
              do! tag |> InvalidRecordTag |> fail
          let! count = takeUInt16 <!> int
  
negative.code:     }
  
      let readEntry = sresult {
          let! entryCode = takeByte <!> char
          match entryCode with
          | 'E' -> return Empty
          | 'b' -> return! takeByte <!> Byte
  