anchor.diff:        if deps_dig = deps_dig'
         then begin
           //mark the tc data of the file as valid
  -        BU.smap_add mcache checked_fn (Valid (dig, tc_result), parsing_data);
  +        BU.smap_add mcache
  +          checked_fn
  +          (Valid (BU.digest_of_file checked_fn, tc_result), parsing_data);
           //if there exists an interface for it, mark that too as valid
           //validity of implementaton tc data implies validity of iface tc data
           let validate_iface_cache () =
  
positive.code:   | None -> failwith "Impossible, load_checked_file must add an entry to mcache"
    | Some (Invalid _, _)
    | Some (Valid _, _) -> ()  //already marked Valid or Invalid
    | Some (Unknown (deps_dig, dig, tc_result), parsing_data) ->
      match hash_dependences deps fn with
      | Inl msg ->
        BU.smap_add mcache checked_fn (Invalid msg, parsing_data)
  
negative.code:             try
                let iface_checked_fn = iface |> Dep.cache_file_name in
                match BU.smap_try_find mcache iface_checked_fn with
                | Some (Unknown (_, tc_result), parsing_data) ->
                  BU.smap_add mcache
                    iface_checked_fn
                    (Valid (BU.digest_of_file iface_checked_fn, tc_result), parsing_data)
                | _ -> ()
              with
                | _ -> ()
  