anchor.diff:        |> Set.unionMany
         |> constraintsOf
   
  +
       let manifests =
         selections
         |> Map.valueList
  
positive.code:           | Result.Ok (_, (location, versions)) ->
              let! lock = sourceExplorer.LockLocation location
              let! manifest = sourceExplorer.FetchManifest (lock, versions)
  
              let packageConstraints = manifest.Dependencies |> Set.map (fun d -> (d.Package, d.Constraint |> constraintToSet))
              world <- (world |> Map.insertWith Set.union (p, cs) (Set[packageConstraints]))
  
              let conflicts =
                manifest.Dependencies
  
negative.code:     | All xs -> xs |> List.map constraintToSet |> Set.unionMany
      | _ -> Set [c]
  
    let resolutionManger (sourceExplorer : ISourceExplorer) : MailboxProcessor<ResolutionRequest> = MailboxProcessor.Start(fun inbox -> async {
      let mutable badDeps  : Map<PackageConstraint, SearchStrategyError> = Map.empty
      let mutable badCores : Set<Set<PackageConstraint>> = Set.empty
      let mutable world : Map<PackageConstraint, Set<Set<PackageConstraint>>> = Map.empty
  
  
      let testIfBad (p, cs) =
        badDeps
  