anchor.diff:              return SuccessResponse raw
           with
           | exn when shouldRetryTimeout exn ->
  -            Logging.traceWarnfn "Request to '%O' didn't respond after 60 seconds, trying again %i/%i" uri iTry nTries
  +            Logging.traceWarnfn "Request to '%s' didn't respond after 60 seconds, trying again %i/%i" url iTry nTries
  +            return! _safeGetFromUrl(auth, url, contentType, iTry + 1, nTries)
  +        | :? HttpRequestException as req when (shouldRetry () && (req.InnerException :? System.Net.Sockets.SocketException)) ->
  +            Logging.traceWarnfn "Request to '%s' failed with '%s', trying again %i/%i" url req.Message iTry nTries
               return! _safeGetFromUrl(auth, url, contentType, iTry + 1, nTries)
           | :? OperationCanceledException as cancel when timeoutTok.IsCancellationRequested ->
  -            raise (Exception(sprintf "Request to '%O' finally timed out after 60 seconds after several retries" uri, exn))
  +            let msg = sprintf "Request to '%s' finally timed out after 60 seconds after several retries" url
  +            return raise (Exception(msg, cancel))
           | :? RequestFailedException as w ->
               match w.Info with
               | Some { StatusCode = HttpStatusCode.NotFound } -> return NotFound
  
positive.code:             let uri = Uri url
              use client = createHttpClient (url,auth)
              let! tok = Async.CancellationToken
              let tokSource = System.Threading.CancellationTokenSource.CreateLinkedTokenSource(tok, timeoutTok)
  
              if notNullOrEmpty contentType then
                  addAcceptHeader client contentType
  
negative.code: 
      use timeoutTok = new System.Threading.CancellationTokenSource()
      timeoutTok.CancelAfter(60000)
      let shouldRetry () =
          iTry < nTries
      let shouldRetryTimeout exn =
          let exnNames = getExceptionNames exn
          shouldRetry () &&
              (timeoutTok.IsCancellationRequested && (exnNames |> List.contains "OperationCanceledException" ))
  
      async {
  