anchor.diff:    let full_cycle_detection all_command_line_files =
       let dep_graph = dep_graph_copy dep_graph in
       let rec aux (cycle:list<file_name>) filename =
  -        let direct_deps, color =
  +        let node =
               match deps_try_find dep_graph filename with
  -            | Some (d, c) -> d, c
  +            | Some node -> node
               | None ->
                 failwith (BU.format1 "Failed to find dependences of %s" filename)
           in
  -        let direct_deps = direct_deps |> List.collect (fun x ->
  +        let direct_deps = node.edges |> List.collect (fun x ->
               match x with
               | UseInterface f
               | PreferInterface f ->
  
positive.code:     let transitive_krml = smap_create 41 in
      keys |> List.iter
          (fun file_name ->
            let f_deps, _ = deps_try_find deps.dep_graph file_name |> Option.get in
            let iface_deps =
                if is_interface file_name
                then None
  
negative.code:             (cycle:list<file_name>)
              (all_friends, all_files)
              filename =
      let dep_node = must (deps_try_find dep_graph filename) in
      match dep_node.color with
      | Gray ->
          failwith "Impossible: cycle detected after cycle detection has passed"
      | Black ->
  