anchor.diff:          let (Deps dg') = deps_empty() in
           BU.smap_fold dg (fun filename (dependences, color) () ->
               BU.smap_add dg' filename (widen_deps friends dependences, color)) ();
  +        if Options.debug_any()
  +        then BU.print_string "==============Phase2==================";
           all_friend_deps (Deps dg') [] ([], []) root_files
       in
  +    if Options.debug_any()
  +    then BU.print1 "Phase2 complete: all_files = %s" (String.concat ", " all_files);
       all_files,
       !widened
   
  
positive.code:     | UseInterface f -> "UseInterface " ^ f
      | PreferInterface f -> "PreferInterface " ^ f
      | UseImplementation f -> "UseImplementation " ^ f
      | FriendImplementation f -> "UseImplementation " ^ f
  type dependences = list<dependence>
  let empty_dependences = []
  type dependence_graph = //maps file names to the modules it depends on
  
negative.code:             * dependencies. Otherwise, the map only contains its direct dependencies. *)
          all_friends, all_files
      | White ->
          if Options.debug_any()
          then BU.print2 "Visiting %s: direct deps are %s"
                  filename
                  (String.concat ", " (List.map dep_to_string direct_deps));
          (* Unvisited. Compute. *)
          deps_add_dep dep_graph filename (direct_deps, Gray);
          let all_friends, all_files =
  