anchor.diff:        |> constraintsOf
   
   
  -  let pruneSelections (selections: Map<PackageIdentifier, ResolvedVersion>) (deps: Set<Dependency>) =
  +  let pruneSelections (selections: Map<PackageIdentifier, ResolvedVersion * Solution>) (deps: Set<Dependency>) =
   
       let rec loop (visited: Set<PackageIdentifier>) (deps: Set<Dependency>) : seq<PackageIdentifier * ResolvedVersion> = seq {
         let notVisited =
  
positive.code:           Versions = atom.Versions
            Manifest = manifest
          }
          return Result.Ok {state with Selections = state.Selections |> Map.add p resolvedVersion}
        with _ -> return Result.Error NoManifest
      })
      |> AsyncSeq.filter (fun x ->
        match x with
  
negative.code:   | TransitiveConflict of Set<PackageConstraint> * SearchStrategyError
    | Conflicts of Set<SearchStrategyError>
    | NoManifest
    | NoPrivateSolution
  
    type ResolutionRequest =
    | MarkBadPath of List<ResolutionPath> * PackageConstraint * SearchStrategyError * AsyncReplyChannel<Unit>
  