anchor.diff:  
   (defun decode-local-time (local-time)
     "Returns the decoded time as multiple values: ms, ss, mm, hh, day, month, year, day-of-week, daylight-saving-time-p, timezone, and the customary timezone abbreviation."
  +  (declare (type local-time local-time))
     (multiple-value-bind (hours minutes seconds)
         (local-time-decoded-time local-time)
       (multiple-value-bind (year month day)
  
positive.code: 
  (defun local-time-compare (time-a time-b)
    "Returns the symbols <, >, or =, describing the relationship between TIME-A and TIME-b."
    (multiple-value-bind (day-a sec-a)
        (local-time-adjust time-a (timezone-of time-b))
      (cond
  
negative.code: 
  (defun unix-time (local-time)
    "Return the Unix time corresponding to the LOCAL-TIME"
    (declare (type local-time local-time))
    (+ (* (+ (day-of local-time) 11017) 86400)
       (sec-of local-time)))
  
  (defun timezone (local-time &optional timezone)
    "Return as multiple values the time zone as the number of seconds east of UTC, a boolean daylight-saving-p, the customary abbreviation of the timezone, the starting time of this timezone, and the ending time of this timezone."
    (declare (type local-time local-time)
             (type (or null timezone) timezone))
    (let* ((zone (realize-timezone
                  (or timezone (timezone-of local-time) *default-timezone*)))
           (subzone-idx (or
  