   over [ reset-vocab ] [ add-timers ] bi
   reset-word-timer
   "executing quotation..." print flush
-  [ call ] micro-time >r
+  benchmark >r
   "resetting annotations..." print flush
   reset-vocab
   correct-for-timing-overhead

  *calling* get-global at ; inline
    
: timed-call ( quot word -- )
  [ calling ] [ >r micro-time r> register-time ] [ finished ] tri ; inline

: time-unless-recursing ( quot word -- )
  dup called-recursively? not

: dummy-word ( -- ) ;

: time-dummy-word ( -- n )
  [ 100000 [ [ dummy-word ] benchmark , ] times ] { } make median ;

: subtract-overhead ( {oldtime,n} overhead -- {newtime,n} )
  [ first2 ] dip
