anchor.diff:    let rec discover_one (file_name:file_name) =
       if deps_try_find dep_graph file_name = None then
       begin
  -      let deps, mo_roots, needs_interface_inlining =
  +      let parsing_data, (deps, mo_roots, needs_interface_inlining) =
           match BU.smap_try_find !collect_one_cache file_name with
  -        | Some cached -> cached
  +        | Some cached -> Mk_pd [], cached
           | None ->
  -          let r, additional_roots = collect_one file_system_map file_name get_parsing_data_from_cache in
  -          r.direct_deps, additional_roots, r.has_inline_for_extraction in
  +          let parsing_data, deps, needs_interface_inlining, additional_roots = collect_one file_system_map file_name get_parsing_data_from_cache in
  +          parsing_data, (deps, additional_roots, needs_interface_inlining) in
         if needs_interface_inlining
         then add_interface_for_inlining file_name;
  -      BU.smap_add parse_results file_name ({
  -        direct_deps = deps;
  -        has_inline_for_extraction = needs_interface_inlining });
  +      BU.smap_add parse_results file_name parsing_data;
         let deps =
             let module_name = lowercase_module_name file_name in
             if is_implementation file_name
  
positive.code:         | Attributes cattributes  ->
              List.iter collect_term cattributes
          | CalcProof (rel, init, steps) ->
              add_dep_on_module (Ident.lid_of_str "FStar.Calc");
              begin
              collect_term rel;
              collect_term init;
  
negative.code: open FStar.String
  open FStar.Ident
  open FStar.Errors
  open FStar.Parser
  open FStar.Parser
  
  module Const = FStar.Parser.Const
  