anchor.diff:                          (output_ml_file f)
                           (String.concat "\\\n\t" cmx_files);
               Util.print2 "%s: %s\n\n" (output_krml_file f) (cache_file f)
  -          ) else if not(has_implementation file_system_map (lowercase_module_name f))
  +          ) else if not(has_implementation deps.file_system_map (lowercase_module_name f))
                    && is_interface f then (
               // .krml files can be produced using just an interface, unlike .ml files
               if Options.cmi()
  
positive.code:                              not (BU.for_some (dep_subsumed_by iface_dep) f_deps)))
            in
            let norm_f = norm_path f in
            let files = List.map (file_of_dep_aux true file_system_map all_cmd_line_files) f_deps in
            let files =
                match iface_deps with
                | None -> files
                | Some iface_deps ->
                  let iface_files =
                      List.map (file_of_dep_aux true file_system_map all_cmd_line_files) iface_deps
                  in
                  BU.remove_dups (fun x y -> x = y) (files @ iface_files)
            in
  
negative.code:   then add_dep mo_roots (UseImplementation mname);
    collect_module ast;
    (* Util.print2 "Deps for %s: %s\n" filename (String.concat " " (!deps)); *)
    !deps, !mo_roots, !has_inline_for_extraction
  
  
  (* JP: it looks like the code was changed but the comments were never updated.
  