anchor.diff:          let entryCount =
               match br.ReadByte() with
               | 'M'B ->
  -                readUInt16() |> int
  +                br.ReadUInt16() |> int
               | 'm'B ->
                   read7BitEncodedUInt32() |> int
               | x -> invalidEGTf "Invalid record code, read %x" x
  
positive.code:         | 'E'B -> Entry.Empty
          | 'b'B -> Entry.Byte(br.ReadByte())
          | 'B'B -> Entry.Boolean(br.ReadByte() <> 0uy)
          | 'I'B -> Entry.Int(readUInt16())
          | 'S'B -> Entry.String(readNullTerminatedString())
          // These two are the EGTneo entry tags.
          // They allow more compact representation.
  
negative.code:     let mutable buffer = ArrayPool.Shared.Rent(128)
      let mutable length = 0
  
      /// Reads a null-terminated string, encoded
      /// with the UTF-16 character set from a binary reader.
      /// Commonly used to read the header of an EGT file.
      let readNullTerminatedString() =
          let sr = StringBuilder()
          let mutable c = br.ReadUInt16()
          while c <> 0us do
              sr.Append(char c) |> ignore
              c <- br.ReadUInt16()
          sr.ToString()
  
      /// An implementation of the BinaryReader.Read7BitEncodedInt method.
  