anchor.diff:  let private getPackages(auth, nugetURL, packageNamePrefix, maxResults) = async {
       let! apiRes = getSearchAPI(auth,nugetURL) |> Async.AwaitTask
       match apiRes with
  -    | Some url -> 
  +    | Some url ->
           let query = sprintf "%s?q=%s&take=%d" url packageNamePrefix maxResults
           let! response = safeGetFromUrl(auth |> Option.map toCredentials,query,acceptJson)
           match SafeWebResult.asResult response with
           | Result.Ok text -> return  Result.Ok (extractPackages text)
           | Result.Error err -> return Result.Error err
  -    | None -> 
  +    | None ->
           if verbose then tracefn "Could not calculate search api from %s" nugetURL
           return Result.Ok [||]
   }
  
positive.code:       [<JsonProperty("packageContent")>]
        DownloadLink: string
        [<JsonProperty("catalogEntry")>]
        PackageDetails: Catalog
        }
  
  type PackageIndexPage =
      { [<JsonProperty("@id")>]
  
negative.code: let private allVersionsDict = new System.Collections.Concurrent.ConcurrentDictionary<_,System.Threading.Tasks.Task<_>>()
  
  /// Calculates the NuGet v3 URL from a NuGet v2 URL.
  let calculateNuGet3Path(nugetUrl:string) =
      match nugetUrl.TrimEnd([|'/'|]) with
      | "http://nuget.org/api/v2" -> Some "http://api.nuget.org/v3/index.json"
      | "https://nuget.org/api/v2" -> Some "https://api.nuget.org/v3/index.json"
  