anchor.diff:              failwith !errorText
   
   
  -let calcOpenRequirements (exploredPackage:ResolvedPackage,versionToExplore,dependency,closed:Set<PackageRequirement>,stillOpen:Set<PackageRequirement>,rest:Set<PackageRequirement>) =
  +let calcOpenRequirements (exploredPackage:ResolvedPackage,versionToExplore,dependency,closed:Set<PackageRequirement>,stillOpen:Set<PackageRequirement>) =
       let dependenciesByName =
           // there are packages which define multiple dependencies to the same package
           // we just take the latest one - see #567
           let hashSet = new HashSet<_>()
           exploredPackage.Dependencies
           |> Set.filter (fun (name,_,_) -> hashSet.Add name)
  +
  +    let rest = Set.remove dependency stillOpen
                           
       dependenciesByName
       |> Set.map (fun (n,v,r) -> {dependency with Name = n; VersionRequirement = v; Parent = Package(dependency.Name,versionToExplore); FrameworkRestrictions = r })
  
positive.code:                 ResolvedPackages.Conflict(closed,stillOpen)
          else
              let dependency = Seq.head stillOpen
              let rest = stillOpen |> Set.remove dependency
       
              let allVersions,compatibleVersions,globalOverride = 
                  match Map.tryFind dependency.Name filteredVersions with
  
negative.code: 
      let rec improveModel (filteredVersions:Map<PackageName, (SemVerInfo list * bool)>,packages:ResolvedPackage list,closed:Set<PackageRequirement>,stillOpen:Set<PackageRequirement>) =
          if Set.isEmpty stillOpen then
              // we're done. check if we have a valid resolution and return it
              let isOk =
                  filteredVersions
                  |> Map.forall (fun _ v ->
  