anchor.diff:  %%
   %% Time is in milliseconds.
   %%
  --opaque tref()    :: any().
  +-opaque tref()    :: {integer(), reference()}.
   -type time()      :: non_neg_integer().
   -type timestamp() :: {non_neg_integer(), non_neg_integer(), non_neg_integer()}.
   
   %%
   %% Interface functions
   %%
  --spec apply_after(time(), atom(), atom(), [_]) -> {'ok', tref()} | {'error', _}.
  +-spec apply_after(time(), atom(), atom(), [term()]) -> {'ok', tref()} | {'error', term()}.
   apply_after(Time, M, F, A) ->
       req(apply_after, {Time, {M, F, A}}).
   
  --spec send_after(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', _}.
  +-spec send_after(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', term()}.
   send_after(Time, Pid, Message) ->
       req(apply_after, {Time, {?MODULE, send, [Pid, Message]}}).
   
  --spec send_after(time(), _) -> {'ok', tref()} | {'error', _}.
  +-spec send_after(time(), term()) -> {'ok', tref()} | {'error', term()}.
   send_after(Time, Message) ->
       send_after(Time, self(), Message).
   
  --spec exit_after(time(), pid() | atom(), _) -> {'ok', tref()} | {'error', _}.
  +-spec exit_after(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', term()}.
   exit_after(Time, Pid, Reason) ->
       req(apply_after, {Time, {erlang, exit, [Pid, Reason]}}).
   
  --spec exit_after(time(), term()) -> {'ok', tref()} | {'error', _}.
  +-spec exit_after(time(), term()) -> {'ok', tref()} | {'error', term()}.
   exit_after(Time, Reason) ->
       exit_after(Time, self(), Reason).
   
  --spec kill_after(time(), pid() | atom()) -> {'ok', tref()} | {'error', _}.
  +-spec kill_after(time(), pid() | atom()) -> {'ok', tref()} | {'error', term()}.
   kill_after(Time, Pid) ->
       exit_after(Time, Pid, kill).
   
  --spec kill_after(time()) -> {'ok', tref()} | {'error', _}.
  +-spec kill_after(time()) -> {'ok', tref()} | {'error', term()}.
   kill_after(Time) ->
       exit_after(Time, self(), kill).
   
  --spec apply_interval(time(), atom(), atom(), [_]) -> {'ok', tref()} | {'error', _}.
  +-spec apply_interval(time(), atom(), atom(), [term()]) -> {'ok', tref()} | {'error', term()}.
   apply_interval(Time, M, F, A) ->
       req(apply_interval, {Time, self(), {M, F, A}}).
   
  --spec send_interval(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', _}.
  +-spec send_interval(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', term()}.
   send_interval(Time, Pid, Message) ->
       req(apply_interval, {Time, Pid, {?MODULE, send, [Pid, Message]}}).
   
  --spec send_interval(time(), term()) -> {'ok', tref()} | {'error', _}.
  +-spec send_interval(time(), term()) -> {'ok', tref()} | {'error', term()}.
   send_interval(Time, Message) ->
       send_interval(Time, self(), Message).
   
  --spec cancel(tref()) -> {'ok', 'cancel'} | {'error', _}.
  +-spec cancel(tref()) -> {'ok', 'cancel'} | {'error', term()}.
   cancel(BRef) ->
       req(cancel, BRef).
   
  
positive.code: 	    Interval = Time*1000,
  	    BRef2 = {Started + Interval, Ref},
  	    Timer = {BRef2, {repeat, Interval, Pid}, MFA},
  	    ets:insert(?INTERVAL_TAB,{BRef1,BRef2,Pid}),
  	    ets:insert(?TIMER_TAB, Timer),
  	    Timeout = timer_timeout(SysTime),
  	    {reply, {ok, BRef1}, [], Timeout};
  
negative.code: 	    ok
      end;
  delete_ref(BRef) ->
      ets:delete(?TIMER_TAB, BRef).
  
  %%
  %% pid_delete
  %%
  
  -spec pid_delete(pid()) -> 'ok'.
  pid_delete(Pid) ->
      IntervalTimerList = 
  	ets:select(?INTERVAL_TAB,
  