anchor.diff:      register_with_async(Controller),
       erlang:monitor(process, Executor),
       reply(From, ok).
  +
  +maybe_log_down_message({'DOWN', _MRef, process, Pid, Reason}) ->
  +    case misc:is_normal_termination(Reason) of
  +        true ->
  +            ok;
  +        false ->
  +            ?log_warning("Monitored process ~p "
  +                         "terminated abnormally (reason = ~p)", [Pid, Reason])
  +    end.
  
positive.code: 
  async_loop_with_result(Result) ->
      receive
          {'DOWN', _MRef, process, _Pid, Reason} ->
              exit(Reason);
          {'EXIT', _, Reason} ->
              exit(Reason);
  
negative.code: 
  async_loop_wait_result(Type, Child, Reply, ChildAsyncs) ->
      receive
          {'DOWN', _MRef, process, _Pid, Reason} = Down ->
              maybe_log_down_message(Down),
              terminate_now(Reason, [Child | ChildAsyncs]);
          {'EXIT', Child, Reason} ->
              terminate_on_query(Type, {child_died, Reason}, ChildAsyncs);
  