anchor.diff:                    end,
               RNL ++ [ICT, {Acf, CF}, {message_queue_len, MQL}]
       end.
  +
  +
  +%% @doc If the message type is due to a large heap warning
  +%% and the source is ourself, go ahead and collect garbage
  +%% to avoid the death spiral.
  +-spec maybe_collect_garbage(pid(), atom()) -> ok.
  +maybe_collect_garbage(Pid, large_heap) when Pid =:= self() ->
  +    erlang:garbage_collect(Pid),
  +    ok;
  +maybe_collect_garbage(_, _) ->
  +    ok.
  +
  +-spec reset_timer(undefined | reference()) -> reference().
  +reset_timer(undefined) ->
  +    erlang:send_after(?INACTIVITY_TIMEOUT, self(), inactivity_timeout);
  +reset_timer(TimerRef) ->
  +    erlang:cancel_timer(TimerRef),
  +    reset_timer(undefined).
  
positive.code: handle_info(die_for_testing_purposes_only, _State) ->
      %% exit({told_to_die, lists:duplicate(500000, $x)});
      exit({told_to_die, lists:duplicate(50, $x)});
  handle_info(Info, State) ->
      lager:info("handle_info got ~p", [Info]),
      {ok, State}.
  
negative.code: %% @end
  %%--------------------------------------------------------------------
  init([]) ->
      {ok, #state{}, hibernate}.
  
  %%--------------------------------------------------------------------
  %% @private
  