anchor.diff:        unsatisfied solution dependencies
         |> List.sortBy (fun x -> constraintSearchCost x.Constraint)
       match pending with
  -    | head :: _ -> 
  +    | head :: tail -> 
         System.Console.WriteLine("Processing " + (Dependency.show head) + "... ")
         let! versions = sourceManager.FetchVersions head.Package
         let compatibleVersions = 
  
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:         |> 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
          )
  