anchor.diff:      async { 
           // we cannot cache this
           try 
  -            return! followODataLink auth (sprintf "%s/FindPackagesById()?id='%s'" nugetURL package)
  +            let url = sprintf "%s/FindPackagesById()?id='%s'" nugetURL package
  +            return! followODataLink auth url
           with _ -> return! getAllVersionsFromNugetODataWithFilter (auth, nugetURL, package)
       }
   
  
positive.code:             | Some node -> node
              | None -> failwithf "unable to parse data from %s" url
  
          let currentPage = 
              feed |> getNode "entry" |> optGetNode "properties" |> optGetNode "Version" 
              |> Option.map (fun node -> node.InnerText)
              |> Option.toList
  
          return 
              feed 
              |> getNodes "link"
              |> List.filter (fun node -> node |> getAttribute "rel" = Some "next")
  
negative.code:             |> Async.Parallel
              |> Async.RunSynchronously
              |> Seq.concat
  
          return
              entriesVersions
              |> Seq.append linksVersions
      }
  
  /// Gets versions of the given package via OData via /Packages?$filter=Id eq 'packageId'
  