anchor.diff:            else
               yield Result.Error (IntroducesConflict conflicts)
           ()
  +
         ()
       }
   
  
positive.code:   | IntroducesConflict of List<SearchStrategyError>
  
    type ResolutionRequest =
    | GetSnapshot of AsyncReplyChannel<Map<PackageConstraint, Set<Set<PackageConstraint>>>>
    | GetCandidates of Constraints * PackageConstraint * PackageSources * AsyncReplyChannel<AsyncSeq<Result<(PackageIdentifier * LocatedVersionSet), SearchStrategyError>>>
  
  
  
negative.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
  