anchor.diff:      else
   
       /// Evaluates whethere the innermost step-looping stage should continue or not
  -    let keepLooping (flags:StepFlags) (conflictState:ConflictState) =
  +    let keepLooping (flags:StepFlags) (conflictState:ConflictState) (currentRequirement:PackageRequirement) =
           if flags.ForceBreak then false else
  -        if conflictState.Status.IsDone || Seq.isEmpty conflictState.VersionsToExplore then false else
  +        if conflictState.Status.IsDone then false else
  +        if Seq.isEmpty conflictState.VersionsToExplore then
  +            match conflictState.Status with
  +            | Resolution.Ok _ -> ()
  +            | _ -> (tracefn "   Failed to satisfy %O" currentRequirement)
  +            false else
           flags.FirstTrial || Set.isEmpty conflictState.Conflicts
           
   
  
positive.code:         dependencies
          // exists any not matching stuff
          |> Seq.exists (fun (name, requirement, restriction) ->
              if name = package.Name then
                  requirement.IsInRange package.Version |> not
              else false
              )
          |> not // then we are not compatible
  
negative.code:                 step (Inner ((currentConflict,currentStep,currentRequirement), priorConflictSteps)) stackpack compatibleVersions  flags 
  
          | Inner ((currentConflict,currentStep,currentRequirement), priorConflictSteps)->
              if not (keepLooping flags currentConflict currentRequirement) then
                  let flags =
                      if  not flags.UseUnlisted 
                       && flags.HasUnlisted 
  