anchor.diff:  
   micro_diff(T1, T0)
     when is_integer(T1), is_integer(T0) ->  %% monotonic time
  -    erlang:convert_time_resolution(T1 - T0,
  -                                   erlang:time_resolution(),
  -                                   1000000);
  +    monotonic_to_microseconds(T1 - T0);
   
   micro_diff(T1, T0) ->  %% at least one erlang:now()
       timer:now_diff(timestamp(T1), timestamp(T0)).
  
positive.code:     T;
  
  timestamp(MonoT) ->  %% monotonic time
      MicroSecs = erlang:convert_time_resolution(MonoT + erlang:time_offset(),
                                                 erlang:time_resolution(),
                                                 1000000),
      Secs = MicroSecs div 1000000,
      {Secs div 1000000, Secs rem 1000000, MicroSecs rem 1000000}.
  
  %% ---------------------------------------------------------------------------
  %% # now_diff/1
  
negative.code:     timer:now_diff(erlang:now(), T0);
  
  micro_diff(T0) ->  %% monotonic time
      monotonic_to_microseconds(erlang:monotonic_time() - T0).
  
  %% ---------------------------------------------------------------------------
  %% # micro_diff/2
  