anchor.diff:      let rec step (filteredVersions:Map<PackageName, (SemVerInfo list * bool)>,currentResolution:Map<PackageName,ResolvedPackage>,closedRequirements:Set<PackageRequirement>,openRequirements:Set<PackageRequirement>) =
           if Set.isEmpty openRequirements then Resolution.Ok(cleanupNames currentResolution) else
           verbosefn "  %d packages in resolution. %d requirements left" currentResolution.Count openRequirements.Count
  -            
  +        
  +        let conflictStatus = Resolution.Conflict(currentResolution,closedRequirements,openRequirements,getVersionsF sources ResolverStrategy.Max groupName)
  +
           let currentRequirement =
               let currentMin = ref (Seq.head openRequirements)
               let currentBoost = ref 0
  
positive.code:             | _ -> conflictHistory.Add(currentRequirement.Name, 1)
                      
              if verbose then
                  tracefn "  Conflicts with:"
                      
                  closedRequirements
                  |> Set.union openRequirements
                  |> Seq.filter (fun d -> d.Name = currentRequirement.Name)
                  |> fun xs -> String.Join(Environment.NewLine + "    ",xs)
                  |> tracefn "    %s"
  
                  match filteredVersions |> Map.tryFind currentRequirement.Name with
                  | Some (v,_) -> tracefn "    Package %O was already pinned to %O" currentRequirement.Name v
                  | None -> ()
  
                  tracefn "    ==> Trying different resolution."
  
          let tryToImprove useUnlisted =
              let allUnlisted = ref true
              let state = ref (Resolution.Conflict(currentResolution,closedRequirements,openRequirements,getVersionsF sources ResolverStrategy.Max groupName))
              let isOk() = 
                  match !state with
                  | Resolution.Ok _ -> true
  
negative.code:             stillOpen
              |> Seq.head
              |> traceUnresolvedPackage
              
              errorText.ToString()
  
      member this.GetModelOrFail() = 
          match this with
          | Resolution.Ok model -> model
          | Resolution.Conflict(_) -> 
              "There was a version conflict during package resolution." + Environment.NewLine +
                  this.GetErrorText()  + Environment.NewLine +
                  "  Please try to relax some conditions."
              |> failwithf "%s"
  
  let calcOpenRequirements (exploredPackage:ResolvedPackage,globalFrameworkRestrictions,versionToExplore,dependency,closed:Set<PackageRequirement>,stillOpen:Set<PackageRequirement>) =
      let dependenciesByName =
  