anchor.diff:                                         This will result in an endless loop.%sCurrent Requirement: %A%sRequirements: %A" 
                                               Environment.NewLine currentRequirement Environment.NewLine nextStep.OpenRequirements
                           
  -                        step (Step(currentConflict, (currentConflict,currentStep)::priorConflictSteps)) nextStep stackpack currentRequirement compatibleVersions flags
  +                        step (Step((currentConflict,nextStep,currentRequirement), (currentConflict,currentStep,currentRequirement)::priorConflictSteps)) stackpack compatibleVersions flags
   
   
       let startingStep = {
  
positive.code:                     else
                          StepFlags(true,flags.UseUnlisted,flags.HasUnlisted,flags.ForceBreak,flags.FirstTrial)
  
                  step (Outer(currentConflict, priorConflictSteps)) currentStep  stackpack 
                           currentRequirement compatibleVersions  flags 
              else
                  let flags = StepFlags(flags.Ready,flags.UseUnlisted,flags.HasUnlisted,flags.ForceBreak,false)
                  let (version,sources) & versionToExplore = Seq.head currentConflict.VersionsToExplore
  
negative.code:     member __.FirstTrial  = firstTrial
  
  
  type private Stage =
      | Step  of currentConflict : (ConflictState * ResolverStep * PackageRequirement) * priorConflictSteps : (ConflictState * ResolverStep * PackageRequirement) list
      | Outer of currentConflict : (ConflictState * ResolverStep * PackageRequirement) * priorConflictSteps : (ConflictState * ResolverStep * PackageRequirement) list
      | Inner of currentConflict : (ConflictState * ResolverStep * PackageRequirement) * priorConflictSteps : (ConflictState * ResolverStep * PackageRequirement) list
  
  
  /// Resolves all direct and transitive dependencies
  