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