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: % The accumulator_loop keeps track of guardian processes within a pool,
  % and gathers actions from the various AsyncFunctions in order 
  % to send it the page when the actions are requested.
  %
  accumulator_loop(Guardians, Actions, Waiting, TimerRef) ->
      receive
          {add_guardian, Pid} ->
  
negative.code:                 undefined -> ignore;
                  _ -> PoolPid!DyingMessage
              end,
              erlang:exit(FunctionPid, async_die),
              erlang:exit({guardian_process, exiting_accumulator_died});
  
          {'DOWN', _, process, PoolPid, _} ->
              ?PRINT({down, process, PoolPid}),
              % The pool should never die on us.
              ?PRINT(unexpected_pool_death),
              erlang:exit({guardian_process, exiting_pool_died});
  
          Other ->
              ?PRINT({FunctionPid, AccumulatorPid, PoolPid}),
              ?PRINT({guardian_process, unhandled_event, Other}),
              guardian_process(FunctionPid, AccumulatorPid, PoolPid, DyingMessage)
      end.
  
  
  