anchor.diff:  (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*))
  +  (let ((timer (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)))
  +    (push timer *idle-timer-list*)
  +    timer))
   
   (defun start-idle-timers ()
     (dolist (timer *idle-timer-list*)
  
positive.code:                (setf (timer-last-time timer)
                       (get-internal-real-time)))
                (t
                 (setf (timer-alive-p timer) nil)
                 (push timer promised-timers)))))
      (setq *timer-list* (set-difference *timer-list* promised-timers))
      (dolist (timer update-timers)
  
negative.code:     :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))
  
  