anchor.diff:    (>= level (log.level cat)))
   
   (defmethod log.level ((cat log-category))
  -  (with-slots (level) cat
  -    (or level
  -        (if (ancestors cat)
  -            (loop for ancestor in (ancestors cat)
  -                  minimize (log.level ancestor))
  -            (error "Can't determine level for ~S" cat)))))
  +  (or (level cat)
  +      (if (ancestors cat)
  +          (loop for ancestor in (ancestors cat)
  +                minimize (log.level ancestor))
  +          (error "Can't determine level for ~S" cat))))
   
   (defmethod log.level ((cat-name symbol))
     (log.level (get-logger cat-name)))
  
positive.code:   (>= level (log.compile-time-level cat)))
  
  (defmethod log.compile-time-level ((cat log-category))
    (with-slots (compile-time-level) cat
      (or compile-time-level
          (if (ancestors cat)
              (loop for ancestor in (ancestors cat)
                    minimize (log.compile-time-level ancestor))
              (error "Can't determine compile time level for ~S" cat)))))
  
  (defmethod log.compile-time-level ((cat-name symbol))
    (log.compile-time-level (get-logger cat-name)))
  
negative.code:               :documentation "The log categories which inherit from this category.")
     (appenders :initform '()     :accessor appenders :initarg :appenders
                :documentation "A list of appender objects this category sholud send messages to.")
     (level     :initform nil :initarg :level :accessor level
                :type (or null integer)
                :documentation "This category's log level.")
     (compile-time-level
                :initform +dribble+ :initarg :compile-time-level :accessor compile-time-level
  