anchor.diff:      |> Seq.groupBy fst
       |> Seq.map (fun (k, xs) -> (k, xs |> Seq.map snd |> Set.ofSeq))
       |> Map.ofSeq
  -
   
     let findConflicts (solution : Solution) (dependencies : Constraints) = seq {
        let maybeConflict =
  
positive.code:                 do! sourceExplorer.FetchManifest (lock, c) |> Async.Ignore
                  yield Result.Ok (package, (packageLocation, c))
                  hasCandidates <- true
                  consecutiveFailures <- 0
                with _ ->
                  consecutiveFailures <- consecutiveFailures + 1
                  ()
              }
            | Unsatisfiable u -> asyncSeq {
              yield
  
negative.code:             })
            }
  
      if hasCandidates = false
      then
        yield
          Result.Error (NotSatisfiable {
            Package = package;
            Constraint = constraints;
            Msg = "No Version we tested had a valid manifest"
         })
    }
  
    let constraintsOf (ds: Set<Dependency>) =
  