anchor.diff:          }
   
       let rec read' (subscriptions : Event<obj> []) (state : ReceiveStreamState) =
  -        let reader = state.receiveStream.Reader
  +        let recvReader = state.receiveStream.Reader
  +
  +        let count = state.receiveStream.Reader.ReadInt ()
  +
  +        state.uncompressedStream.SetLength (int64 count)
  +        state.uncompressedStream.Position <- 0L
  +
  +        let previousPosition = state.receiveStream.Position
  +
  +        let deflateStream = new DeflateStream (state.receiveStream, CompressionMode.Decompress)
  +        let amount = deflateStream.Read (state.uncompressedStream.Raw, 0, count)
  +        deflateStream.Dispose ()
  +
  +        state.receiveStream.Position <- previousPosition + int64 amount
  +
  +
  +
  +        let reader = state.uncompressedStream.Reader
           let typeId = reader.ReadByte () |> int
   
           if subscriptions.Length > typeId && typeId >= 0 then
  
positive.code: 
              ////
  
             // f state.compressedStream.Raw (int previousPosition) length
              state.compressedStream.Position <- previousPosition
              let compressedReader = ByteReader (state.compressedStream)
              let compressLength = compressedReader.ReadInt ()
  
              state.sendStream.SetLength (int64 startIndex)
              let deflateStream = new DeflateStream (state.compressedStream, CompressionMode.Decompress)
              let length2 = deflateStream.Read (state.sendStream.Raw, startIndex, compressLength)
              deflateStream.Dispose ()
              state.compressedStream.Position <- 0L
  
              f state.sendStream.Raw startIndex size
  
          | _ -> ()
  
  
negative.code: 
      let read subscriptions state =
          state.receiveStream.Position <- 0L
  
          while not state.receiveStream.Reader.IsEndOfStream do
              read' subscriptions state
  
  