anchor.diff:    let ast, _ = Driver.parse_file filename in
     collect_module ast;
     (* Util.print2 "Deps for %s: %s\n" filename (String.concat " " (!deps)); *)
  -  !deps
  +  !deps, !mo_roots
   
   let print_graph graph =
     Util.print_endline "A DOT-format graph has been dumped in the current directory as dep.graph";
  
positive.code:     if smap_try_find graph key = None then
        (* Util.print1 "key: %s\n" key; *)
        let intf, impl = must (smap_try_find m key) in
        let intf_deps =
          match intf with
          | Some intf -> collect_one is_user_provided_filename m intf
          | None -> []
        in
        let impl_deps =
          match impl, intf with
          | Some impl, Some _ when interface_only -> []
          | Some impl, _ -> collect_one is_user_provided_filename m impl
          | None, _-> []
        in
        let deps = List.unique (impl_deps @ intf_deps) in
        smap_add graph key (deps, White);
        List.iter (discover_one false partial_discovery) deps
    in
    let discover_command_line_argument f =
      let m = lowercase_module_name f in
  
negative.code:     | None ->
          raise (Errors.Error (Util.format1 "module not found in search path: %s\n" alias, range_of_lid lid))
    in
  
    let record_lid lid =
      (* Thanks to the new `?.` and `.(` syntaxes, `lid` is no longer a
         module name itself, so only its namespace part is to be
         recorded as a module dependency.  *)
      let module_of_lid = Ident.lid_of_ids lid.ns in
      match add_dependence_edge module_of_lid with
      | None -> ()
      | Some key ->
        if List.length lid.ns > 0 && Options.debug_any () then
        FStar.Errors.warn (range_of_lid lid)
           (BU.format1 "Unbound module reference %s" (Ident.string_of_lid module_of_lid))
    in
  
    let auto_open = hard_coded_dependencies filename in
    List.iter record_open_module_or_namespace auto_open;
  