anchor.diff:      //  |> Option.defaultValue Map.empty
   
       let state = {
  -      Root = manifest
  +      Root = Set.union
  +        manifest.Dependencies
  +        manifest.PrivateDependencies
         Hints = hints
         Selections = Map.empty
         Locations = manifest.Locations
  
positive.code:     let sourceExplorer = context.SourceExplorer
      let log = namespacedLogger context.Console ("solver")
  
      let selections = pruneSelections state.Selections state.Root.Dependencies
  
      let manifests =
        selections
        |> Map.valueList
        |> Seq.map (fun rv -> rv.Manifest)
        |> Seq.append [state.Root]
        |> Seq.toList
  
      let locations =
        manifests
        |> Seq.map (fun m -> m.Locations |> Map.toSeq)
        |> Seq.fold Seq.append (Seq.ofList[])
        |> Map.ofSeq
  
      let unresolved = depthFirst selections state.Root.Dependencies |> Seq.toList
  
      System.Console.WriteLine (List.length unresolved |> string)
      if (unresolved |> List.length) = 0
  
negative.code: 
    type SolverState = {
      Locations : Map<AdhocPackageIdentifier, PackageSource>
      Root : Set<Dependency>
      Hints: Map<PackageIdentifier, List<LocatedAtom>>
      Selections : Map<PackageIdentifier, ResolvedVersion>
    }
  