anchor.diff:              verbosefn "  %d packages in resolution. %d requirements left" currentStep.CurrentResolution.Count currentStep.OpenRequirements.Count
           
               let currentRequirement = getCurrentRequirement currentStep.OpenRequirements
  -            let getVersionsF = getVersionsF currentRequirement.Sources ResolverStrategy.Max groupName
               let conflicts = getConflicts(currentStep,currentRequirement)
  -            if conflicts |> Set.isEmpty |> not then 
  -                Resolution.Conflict(currentStep,conflicts,Seq.head conflicts,getVersionsF) 
  -            else
  +            let state = 
  +                let getVersionsF = getVersionsF currentRequirement.Sources ResolverStrategy.Max groupName
  +                if Set.isEmpty conflicts then 
  +                    ref (Resolution.Conflict(currentStep,Set.empty,currentRequirement,getVersionsF))
  +                else
  +                    ref (Resolution.Conflict(currentStep,conflicts,Seq.head conflicts,getVersionsF))
  +
  +            if Set.isEmpty conflicts then
                   let availableVersions,compatibleVersions,globalOverride = getCompatibleVersions(currentStep,currentRequirement)
  -
  -                let state = ref (Resolution.Conflict(currentStep,Set.empty,currentRequirement,getVersionsF))
  +                
                   if Seq.isEmpty compatibleVersions then
                       boostConflicts (currentStep.FilteredVersions,currentRequirement,!state) 
   
  
positive.code:                     let shouldTryHarder () =
                          if !forceBreak then false else
                          if (!state).IsDone || Seq.isEmpty !versionsToExplore then false else
                          if !firstTrial then true else
                          conflicts |> Set.isEmpty
  
                      while shouldTryHarder() do
                          firstTrial := false
  
negative.code:                     else
                          ready := true
  
              !state
  
      let startingStep =
          { Relax = false
  