anchor.diff:  invocation of this function. It is used to skip already completed tasks **)
   
   let run_dep_tasks (env: env_t) (tasks: list<dep_task>) (previous: list<completed_dep_task>) =
  +  let debug verb task =
  +    if Options.debug_any () then
  +      Util.print2 "%s %s" verb (string_of_dep_task task) in
  +
     let rec revert_many env = function
       | [] -> env
       | (task, env') :: entries ->
  -      pop env' "load_deps";
  +      debug "Reverting" task;
  +      pop env' "run_dep_tasks";
         revert_many env' entries in
   
     let rec aux (env: env_t)
  
positive.code: 
      | task :: tasks, prev :: previous
          when (fst prev) = (update_task_timestamps task) ->
        aux env tasks previous (prev :: rev_done)
  
      | tasks, previous ->
  
negative.code:       Inl (env, List.rev rev_done)
  
      | task :: tasks, [] ->
        debug "Loading" task;
        let timestamped_task = update_task_timestamps task in
        (match push_then_complete_task_or_revert env task with
         | Inr env -> Inr (env, List.rev rev_done)
  