anchor.diff:  let quickStrategy resolver sourceExplorer state selections = asyncSeq {
     let unresolved =
       breadthFirst selections state.Root
  -    |> Seq.sortBy (snd >> All >> simplify >> Constraint.chanceOfSuccess)
  +    |> Seq.sortByDescending (snd >> All >> simplify >> Constraint.chanceOfSuccess)
   
     for (p, cs) in unresolved do
       yield!
  
positive.code:           match candidate with
            | Result.Error (Unresolvable d) ->
              unresolvableCores <- (unresolvableCores |> Map.add (Set [d]) (Unresolvable d))
              yield Result.Error <| Unresolvable d
            | Result.Error (LimitReached (d, Constants.MaxConsecutiveFailures)) ->
              if hadCandidate
              then
                underconstraintDeps <- (underconstraintDeps |> Set.add d)
              yield Result.Error <| LimitReached (d, Constants.MaxConsecutiveFailures)
            | Result.Ok (_, (location, versions)) ->
              let! lock = sourceExplorer.LockLocation location
  
negative.code:     Locations = manifest.Locations
    }
  
    let resolver = resolutionManager context
  
    let prefetcher = Prefetcher (context.SourceExplorer, 10)
  
  