anchor.diff:                            erlang:element(3, T) =:= [Msg, UState] andalso
                             Reason =:= function_clause andalso
                             Level =:= error ->
  -                        {'$gc_unknown_event',
  -                         on_unknown_event(Msg, T1State)};
  +                        on_unknown_event(Msg, UState, T1GCState),
  +                        {'$gc_unknown_event'};
                       _ ->
  -                        {'$gc_exception',
  -                         on_exception(Msg, Level, Reason, Stacktrace, T1State)}
  +                        on_exception(Msg, Level, Reason, Stacktrace,
  +                                     UState, T1GCState),
  +                        {'$gc_exception'}
                   end
           end,
       case T2State of
  
positive.code: %%   not in a breakpoint. A selective receive of breakpoint messages,
  %%   provides further bp instructions when needed inside a bp.
  %%%%%%%%%%%%%%%%%%%%
  -spec on(comm:message(), gc_state()) -> gc_state() | ok.
  on(GCMsg, State) when is_tuple(GCMsg)
                        andalso '$gen_component' =:= element(1, GCMsg) ->
      on_gc_msg(GCMsg, State);
  on({ping, Pid}, State) ->
      %% handle failure detector messages
      comm:send(Pid, {pong}, [{channel, prio}]),
      State;
  on({send_to_group_member, Processname, Msg}, State) ->
      %% forward a message to group member by its process name
      %% initiated via comm:send/3 with group_member
      Pid = pid_groups:get_my(Processname),
  
negative.code:                           UState ->
                                DefaultHandler
                        end,
              {UState, gc_set_hand(T1State, Handler)}
          catch
              % If init throws up, send 'started' to the supervisor but exit.
              % The supervisor will try to restart the process as it is watching
  