anchor.diff:          die -> 
               % Nothing to do here. guardian_process will detect that
               % we've died and update the pool.
  -            ?PRINT({accumulator_loop, dieing}),
               erlang:exit({accumulator_loop, exiting_lease_expired});
   
           Other ->
  
positive.code:             pool_loop([JoinPid|Processes]);
  
          {'DOWN', _, process, LeavePid, _} ->
              ?PRINT({down, process, LeavePid}),
              [Pid!{'LEAVE', LeavePid} || Pid <- Processes],
              NewProcesses = Processes -- [LeavePid],
              case NewProcesses == [] of 
  
negative.code:             exit(async_function_died);
  
          {'DOWN', _, process, AccumulatorPid, _} -> 
              % The accumulator process has died. 
              % Communicate dying_message to the pool, 
              % kill the AsyncFunction process, and exit.
  