anchor.diff:  open Paket.NuGetCache
   open Paket.PackageResolver
   open System.Net.Http
  +open System.Threading
   
   type NuGetContent =
       | NuGetDirectory of name:string * contents:NuGetContent list
  
positive.code:                             tracefn "Still downloading from %O to %s (%d kbit/s, %s %%)" !downloadUrl targetFileName speed percent
                              readSinceLastMeasure <- 0L
                              lastSpeedMeasure.Restart()
                          // if there is no response for a minute -> abort
  
                          let s = System.Threading.CancellationTokenSource.CreateLinkedTokenSource(tok)
                          s.CancelAfter (60000)
                          let! bytes = httpResponseStream.ReadAsync(buffer, 0, bufferSize, s.Token) |> Async.AwaitTaskWithoutAggregate
                          //let! bytes = httpResponseStream.AsyncRead(buffer, 0, bufferSize)
                          bytesRead := bytes
                          do! fileStream.WriteAsync(buffer, 0, !bytesRead, tok) |> Async.AwaitTaskWithoutAggregate
                          readSinceLastMeasure <- readSinceLastMeasure + int64 bytes
                          pos <- pos + int64 bytes
  
  
negative.code: module Paket.NuGet
  
  // Type forwards, this way we only need to open "Paket.NuGet" thoughout paket code (others are implementation detail)
  type UnparsedPackageFile = Paket.NuGetCache.UnparsedPackageFile
  