anchor.diff:          |> Seq.filter (fun x -> x |> Constraint.satisfies head.Constraint)
           |> Seq.filter (fun x -> 
             dependencies 
  +          |> Seq.filter (fun y -> y.Package = head.Package)
             |> Seq.exists (fun y -> x |> Constraint.agreesWith y.Constraint |> not) 
             |> not
           )
  
positive.code:             solution 
              |> Map.add head.Package x
            let nextDependencies = 
              dependencies 
              |> Set.union x.Manifest.Dependencies
            let nextVisited = visited |> Set.add x.Location
            step sourceManager (nextSolution, nextDependencies, nextVisited)
  
negative.code:       unsatisfied solution dependencies
        |> List.sortBy (fun x -> constraintSearchCost x.Constraint)
      match pending with
      | head :: tail -> 
        System.Console.WriteLine("Processing " + (Dependency.show head) + "... ")
        let! versions = sourceManager.FetchVersions head.Package
        let compatibleVersions = 
  