anchor.diff:  
   -spec tester_create_state(Status, Range, Interval,
       CBState, CBStatus, ExchData, Round, TriggerLock, Cycles) -> state()
  -    when    Status :: init | uninit,
  -            Range :: intervals:interval(),
  -            Interval :: pos_integer(),
  -            CBState :: any(),
  -            CBStatus :: unstarted | started | tombstone,
  -            ExchData :: any(),
  -            Round :: non_neg_integer(),
  -            TriggerLock :: free | locked,
  -            Cycles :: non_neg_integer().
  +    when    is_subtype(Status, init | uninit),
  +            is_subtype(Range, intervals:interval()),
  +            is_subtype(Interval, pos_integer()),
  +            is_subtype(CBState, any()),
  +            is_subtype(CBStatus, unstarted | started | tombstone),
  +            is_subtype(ExchData, any()),
  +            is_subtype(Round, non_neg_integer()),
  +            is_subtype(TriggerLock, free | locked),
  +            is_subtype(Cycles, non_neg_integer()).
   tester_create_state(Status, Range, Interval, CBState, CBStatus,
           ExchData, Round, TriggerLock, Cycles) ->
       State = ?PDB:new(state, ?PDB_OPTIONS),
  
positive.code: %% @doc Checks whether the received notification is a {slide_finished, succ} or
  %%      {slide_finished, pred} msg. Used as filter function for the ring maintanance.
  -spec rm_filter_slide_msg(Neighbors, Neighbors, Reason) -> boolean() when
                            Neighbors :: nodelist:neighborhood(),
                            Reason :: rm_loop:reason().
  rm_filter_slide_msg(_OldNeighbors, _NewNeighbors, Reason) ->
          Reason =:= {slide_finished, pred} orelse Reason =:= {slide_finished, succ}.
  
  
negative.code: %%      Used to subscribe to the ring maintenance for {slide_finished, succ} or
  %%      {slide_finished, pred} msg.
  -spec rm_send_activation_msg(Subscriber, ?MODULE, Neighbours, Neighbours) -> ok when
                               is_subtype(Subscriber, pid()),
                               is_subtype(Neighbours, nodelist:neighborhood()).
  rm_send_activation_msg(_Pid, ?MODULE, _OldNeighbours, NewNeighbours) ->
      %% io:format("Pid: ~w. Self: ~w. PidGossip: ~w~n", [Pid, self(), Pid2]),
      MyRange = nodelist:node_range(NewNeighbours),
  