anchor.diff:  
   -type round()       :: {non_neg_integer(), non_neg_integer()}.
   -type session_id()  :: {round(), comm:mypid()}.
  +
   % @doc session contains only data of the sync request initiator thus rs_stats:regen_count represents only 
   %      number of regenerated db items on the initator
   -record(session, 
  
positive.code:           rc_stats          = none                              :: rr_recon_stats:stats() | none,
            rs_stats          = none                              :: rr_resolve:stats() | none,
            rs_called         = 0                                 :: non_neg_integer(),
            rs_finish         = 0                                 :: non_neg_integer()
          }).
  -type session() :: #session{}.
  %TODO Session TTL
  
  -record(rrepair_state,
          {
           trigger_state  = ?required(rrepair_state, trigger_state)   :: trigger:state(),
           round          = {0, 0}                                    :: round(),
           open_recon     = 0                                         :: non_neg_integer(),
           open_resolve   = 0                                         :: non_neg_integer(),
  
negative.code:     {get_state, Sender::comm:mypid(), Key::state_field()} |
      % internal
      {?TRIGGER_NAME} |
      {?GC_TRIGGER} |
  	{continue_recon, SenderRRPid::comm:mypid(), session_id() | null, ReqMsg::rr_recon:request()} |
      {request_resolve, session_id() | null, rr_resolve:operation(), rr_resolve:options()} |
      {recon_forked} |
  