anchor.diff:  -spec inc_session_count(state()) -> state().
   inc_session_count(State) -> setelement(18, State, session_count(State) + 1).
   
  --spec last_msg_sent(state()) -> [comm:message()].
  +-spec last_msg_sent(state()) -> [msg_or_tag()].
   last_msg_sent(State) -> element(19, State).
  --spec set_last_msg_sent(state(), [comm:message()]) -> state().
  +-spec set_last_msg_sent(state(), [msg_or_tag()]) -> state().
   set_last_msg_sent(State, Msg) ->
       OldList = last_msg_sent(State),
       NumToKeep = erlang:max(?NUM_KEEP - length(Msg), 0),
  
positive.code:     State3 = inc_s_msg_count(State2, length(Msg)),
      setelement(19, State3, NewList).
  
  -spec last_msg_received(state()) -> [comm:message()].
  last_msg_received(State) -> element(20, State).
  -spec set_last_msg_received(state(), [comm:message()]) -> state().
  set_last_msg_received(State, Msg) ->
      OldList = last_msg_received(State),
      NumToKeep = erlang:max(?NUM_KEEP - length(Msg), 0),
  
negative.code:     -define(GET_MSG_OR_TAG(Msg), setelement(1, Msg, util:extint2atom(element(1, Msg)))).
  -endif.
  
  -spec get_msg_tag({any(), comm:message()}) -> msg_or_tag().
  get_msg_tag(Msg) ->
      {_Pid, ActualMessage} = Msg,
      ?GET_MSG_OR_TAG(ActualMessage).
  