anchor.diff:          reraise()
   
   let DownloadLicense(root,force,packageName:PackageName,version:SemVerInfo,licenseUrl,targetFileName) =
  -    async { 
  +    async {
           if String.IsNullOrWhiteSpace licenseUrl then return () else
  -        
  +
           let targetFile = FileInfo targetFileName
  -        if not force && targetFile.Exists && targetFile.Length > 0L then 
  +        if not force && targetFile.Exists && targetFile.Length > 0L then
               verbosefn "License for %O %O already downloaded" packageName version
           else
               try
  
positive.code: 
          File.Delete(fileName)
  
          return 
              { PackageName = nuspec.OfficialName
                DownloadUrl = packageName.ToString()
                Dependencies = nuspec.Dependencies
  
negative.code: open Paket.Requirements
  open FSharp.Polyfill
  
  let rec private followODataLink auth url =
      async {
          let! raw = getFromUrl(auth, url, acceptXml)
          if String.IsNullOrWhiteSpace raw then return [||] else
          let doc = XmlDocument()
          doc.LoadXml raw
          let feed =
              match doc |> getNode "feed" with
              | Some node -> node
              | None -> failwithf "unable to parse data from %s" url
  
          let readEntryVersion = Some
                                 >> optGetNode "properties"
                                 >> optGetNode "Version"
                                 >> Option.map (fun node -> node.InnerText)
  
          let entriesVersions = feed |> getNodes "entry" |> List.choose readEntryVersion
  
          let! linksVersions =
              feed
              |> getNodes "link"
              |> List.filter (fun node -> node |> getAttribute "rel" = Some "next")
              |> List.choose (getAttribute "href")
  