anchor.diff:    (let ((year
            (etypecase local-time-or-year
              (local-time
  -            (multiple-value-bind (usec sec min hour day month year day-of-week daylight-saving-time-p original-timezone)
  +            (multiple-value-bind (nsec sec min hour day month year day-of-week daylight-saving-time-p original-timezone)
                   (decode-local-time local-time-or-year)
  -              (declare (ignore usec sec min hour day month day-of-week daylight-saving-time-p original-timezone))
  +              (declare (ignore nsec sec min hour day month day-of-week daylight-saving-time-p original-timezone))
                 year))
              (integer
               local-time-or-year))))
  
positive.code: (defun local-time-day-of-week (local-time)
    (mod (+ 3 (day-of local-time)) 7))
  
  (defun encode-local-time (us ss mm hh day month year &key (timezone *default-timezone*) into)
    "Return a new LOCAL-TIME instance corresponding to the specified time elements."
    (declare (type integer us ss mm hh day month year)
             (type (or null timezone) timezone))
    (let* ((0-based-rotated-month (if (>= month 3) (- month 3) (+ month 9)))
           (int-year (if (< month 3) (- year 2001) (- year 2000)))
  
negative.code:        (timezone-of local-time)
         (nth-value 2 (timezone local-time))))))
  
  (defmacro with-decoded-local-time ((&key nsec sec minute hour day month year day-of-week daylight-p timezone)
                                     local-time &body forms)
    (let ((ignores)
          (variables))
  