anchor.diff:      (stage1:checked_file_entry_stage1)
       (stage2:checked_file_entry_stage2)
       :unit =
  -  BU.save_2values_to_file cache_file stage1 stage2
  +  Errors.with_ctx ("While writing checked file " ^ cache_file) (fun () ->
  +    BU.save_2values_to_file cache_file stage1 stage2)
   
   let store_module_to_cache env fn parsing_data tc_result =
     if Options.cache_checked_modules()
  
positive.code:    *   rather provide a separate F* command --detect_cycles --alredy_cached '*' that builds
     *   can invoke in the end for cycle detection
     *)
    let cache_file =
      try
       Parser.Dep.cache_file_name file_name |> Some
  
negative.code:     match load_checked_file file_name cache_file with
      | _, Inl msg  -> None
      | _, Inr data -> Some data
    )
  
  let load_module_from_cache =
    //this is only used for supressing more than one cache invalid warnings
    let already_failed = BU.mk_ref false in
    fun env fn -> Errors.with_ctx ("While loading module from file " ^ fn) (fun () ->
      let load_it fn () =
        let cache_file = Dep.cache_file_name fn in
        let fail msg cache_file =
  