anchor.diff:              accumulator_loop([Pid|Guardians], Actions, Waiting, TimerRef);
   
           {'DOWN', _, process, Pid, _} ->
  +            ?PRINT({down, process, Pid}),
               accumulator_loop(Guardians -- [Pid], Actions, Waiting, TimerRef);
   
           {add_actions, NewActions} ->
  
positive.code:         die -> 
              % Nothing to do here. guardian_process will detect that
              % we've died and update the pool.
              ok;
  
          Other ->
              ?PRINT({accumulator_loop, unhandled_event, Other})
      end.
  
  % The guardian process monitors the running AsyncFunction and
  
negative.code:             pool_loop([JoinPid|Processes]);
  
          {'DOWN', _, process, LeavePid, _} ->
              ?PRINT({down, process, LeavePid}),
              [Pid!{'LEAVE', LeavePid} || Pid <- Processes],
              NewProcesses = Processes -- [LeavePid],
              case NewProcesses == [] of 
                  false -> pool_loop(NewProcesses);
                  true  -> erlang:exit({pool_loop, exiting_empty_pool})
              end;
  
          Message ->
  