anchor.diff:  a big challenge for Paket's resolver is that it doesn't have the full constraints available.
   The algorithm needs to evaluate the package dependency graph along the way by retrieving data from the [NuGet](nuget-dependencies.html) source feeds.
   
  -The two important questions are:
  +The two important API questions are:
   
   * What versions of a package are available?
   * Given a concrete version of a package, what further dependencies are required?
  
positive.code: Whenever Paket encounters a package version conflict in the search tree it increases a boost factor for the involved packages. 
  This heuristic influences the [package evaluation order](resolver.html#Sorting-package-requirements) and forces the resolver to deal with conflicts much earlier in the search tree.
  
  ## Caching
  
  Paket tries to cache as much as possible since HTTP requests to NuGet are very expensive:
  
  * The function `getAllVersionsFromNuget` will only call the NuGet API once per package and Paket run.
  * The function `getPackageDetails` will only call the NuGet API if package details are not found in the RAM or on disk.
  
  The second caching improvement means that subsequent runs of `paket update` can get faster since package details are already stored on disk.
  
  ## Error reporting
  
  If the resolver can't find a valid solution, then it needs to report an error to the user.
  Since the search tree can be very large and might contain lots of different kinds of failures, reporting a good error message is difficult.
  Paket will only report the last conflict that it can't resolve and also some information about the origin of this conflict.
  
  
negative.code: 
  In order to figure out the concrete versions Paket needs to solve the following constraint satisfaction problem:
  
  * Select the latest version for each of the packages in the [`paket.dependencies` file](dependencies-file.html), plus all their transitive dependencies, such that all version constraints are satisfied.
  
  <blockquote>Note: In general, more than one solution to this problem can exist and the solver will take the first solution that it finds.<br /><br />
  If you change the <a href="dependencies-file.html#Strategy-option">resolution strategy</a> then Paket needs to find the <i>oldest matching version<i>.</blockquote>
  
  ## Getting data
  
  