anchor.diff:      :accessor timer-idle-p
       :type boolean)))
   
  +(defmethod print-object ((object timer) stream)
  +  (print-unreadable-object (object stream :identity t)
  +                           (format stream "TIMER: ~S" (timer-name object))))
  +
   (defun timer-p (x)
     (typep x 'timer))
   
  
positive.code: (defun exist-running-timer-p ()
    (not (null *timer-list*)))
  
  (defvar *idle-timer-list* nil)
  (defvar *running-idle-timers* nil)
  
  (defun start-idle-timer (name ms repeat-p function &optional args handle-function)
    (push (make-instance 'timer
                         :name name
                         :ms ms
                         :repeat-p repeat-p
                         :function function
                         :args args
                         :handle-function handle-function
                         :alive-p t
                         :idle-p t)
          *idle-timer-list*))
  
  (defun start-idle-timers ()
    (dolist (timer *idle-timer-list*)
  
negative.code:                (setf (timer-last-time timer)
                       (get-internal-real-time)))
                (t
                 (unless (timer-idle-p timer)
                   (setf (timer-alive-p timer) nil))
                 (push timer promised-timers)))))
      (setq *timer-list* (set-difference *timer-list* promised-timers))
      (dolist (timer update-timers)
  