anchor.diff:  dependent_exit(_Exit, {erlang, spawn, _}) ->
     false;
   dependent_exit(#exit_event{monitors = Monitors}, {erlang, demonitor, [Ref, _]}) ->
  -  lists:keyfind(Ref, 1, Monitors);
  +  false =/= lists:keyfind(Ref, 1, Monitors);
   dependent_exit(#exit_event{actor = Exiting, name = Name},
                  {erlang, monitor, [process, PidOrName]}) ->
     Exiting =:= PidOrName orelse Name =:= PidOrName;
  -dependent_exit(#exit_event{name = Name}, {erlang, whereis, [WhereIs]}) ->
  -  WhereIs =:= Name;
  +dependent_exit(#exit_event{name = Name}, {erlang, NameRelated, [OName|_]})
  +  when
  +    NameRelated =:= '!';
  +    NameRelated =:= send;
  +    NameRelated =:= whereis ->
  +  OName =:= Name;
   dependent_exit(#exit_event{actor = Exiting, name = Name},
                  {erlang,UnRegisterOp,[RName|Rest]})
     when UnRegisterOp =:= register;
  
positive.code: 
  %%------------------------------------------------------------------------------
  
  dependent_exit(_Exit, {erlang, '!', _}) ->
    false;
  dependent_exit(_Exit, {erlang, exit, _}) ->
    false;
  dependent_exit(#exit_event{actor = Exiting}, {erlang, link, [Linked]}) ->
  
negative.code: %% The first event happens before the second.
  
  -spec dependent(event_info(), event_info()) -> boolean().
  
  dependent(#builtin_event{mfa = {erlang, process_info, _}} = PInfo, B) ->
    dependent_process_info(PInfo, B);
  dependent(B, #builtin_event{mfa = {erlang, process_info, _}} = PInfo) ->
    dependent_process_info(PInfo, B);
  
  dependent(#builtin_event{} = BI1, #builtin_event{} = BI2) ->
    dependent_built_in(BI1, BI2);
  