anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   % constants
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  --define(TRIGGER_NAME, rr_trigger).
  +-define(TRIGGER_NAME,   rr_trigger).
  +-define(GC_TRIGGER,     rr_gc_trigger).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   % export
  
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:     end,
      NewTriggerState = trigger:next(State#rrepair_state.trigger_state),
      State#rrepair_state{ trigger_state = NewTriggerState };
  
  on ({?GC_TRIGGER}, State = #rrepair_state{ gc_trigger = GCState,
                                             open_sessions = Sessions }) ->
      Elapsed = get_gc_interval(),
      NewSessions = [S#session{ ttl = S#session.ttl - Elapsed } 
                              || S <- Sessions,
                                 S#session.ttl - Elapsed > 0],
      State#rrepair_state{ gc_trigger = trigger:next(GCState),
                           open_sessions = NewSessions };
  
  on({request_resolve, SessionID, Operation, Options}, State = #rrepair_state{ open_resolve = OpenResolve }) ->
      {ok, Pid} = rr_resolve:start(SessionID),
  