anchor.diff:                              if nextStep.OpenRequirements = currentStep.OpenRequirements then
                                   failwithf "The resolver confused itself. The new open requirements are the same as the old ones.\nThis will result in an endless loop.%sCurrent Requirement: %A%sRequirements: %A"
                                                   Environment.NewLine currentRequirement Environment.NewLine nextStep.OpenRequirements
  -                            step (Step((currentConflict,nextStep,currentRequirement), (currentConflict,currentStep,currentRequirement,compatibleVersions,flags)::priorConflictSteps)) stackpack currentConflict.VersionsToExplore flags
  +                            StepResult.Stage ((Step((currentConflict,nextStep,currentRequirement), (currentConflict,currentStep,currentRequirement,compatibleVersions,flags)::priorConflictSteps)), stackpack, currentConflict.VersionsToExplore, flags)
                           else
                               let getVersionsF packName =
                                   getVersionsBlock ResolverStrategy.Max (GetPackageVersionsParameters.ofParams currentRequirement.Sources groupName packName) currentStep
  
positive.code:                         HasUnlisted = false
                          UnlistedSearch = false
                      }
                      step (Outer ((conflictState,currentStep,currentRequirement),priorConflictSteps)) stackpack compatibleVersions flags
          | Outer ((conflictState,currentStep,currentRequirement), priorConflictSteps) ->
              let currentConflict = resolverTimeout conflictState currentStep
              if flags.Ready then
  
negative.code:                     if exploredPackage.Unlisted && not flags.UseUnlisted then
                          if not alreadyExplored then
                              tracefn "     %O %O was unlisted" exploredPackage.Name exploredPackage.Version
                          StepResult.Stage ((Inner ((currentConflict,currentStep,currentRequirement), priorConflictSteps)), stackpack, compatibleVersions, flags)
                      else
                          // It might be that this version is already not possible because of our current set.
                          // Example: We took A with version 1.0.0 (in our current resolution), but this version depends on A > 1.0.0
  