anchor.diff:      gen_server:start_link(?MODULE, Mode, []).
   
   
  --spec send_after(server(), pos_integer(), pid(), term()) -> reference().
  +-spec native() -> timeserver().
  +native() ->
  +    native.
  +
  +
  +-spec send_after(timeserver(), pos_integer(), pid(), term()) -> reference().
   send_after(Server, Time, Dest, Msg) ->
       case Server of
           native -> erlang:send_after(Time, Dest, Msg);
  
positive.code: 
  %% api functions
  -export([start_link/1,
           send_after/4,
           start_timer/4,
           cancel/2,
  
negative.code: -record(timer, {
      type :: message | timeout,
      reference :: reference(),
      interval  :: non_neg_integer(),
      process   :: pid(),
      message   :: term()}).
  
  