anchor.diff:          | Udp.Client state ->
   
               state.receiveStreamState.receiveStream.SetLength 0L
  +            state.receiveStreamState.uncompressedStream.SetLength 0L
   
               let client = state.udpClient
               let packetPool = state.packetPool
  
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 rec read' (subscriptions : Event<obj> []) (state : ReceiveStreamState) =
          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
  