anchor.diff:       (second subzone)
        (third subzone))))
   
  +(declaim (ftype (function * (values fixnum)) local-timezone))
  +(defun local-timezone (adjusted-local-time
  +                       &optional (timezone *default-timezone*))
  +  "Return the local timezone adjustment applicable at the already adjusted-local-time. Used to reverse the effect of TIMEZONE and LOCAL-TIME-ADJUST."
  +  (let* ((unix-time (unix-time adjusted-local-time))
  +         (subzone-idx (or
  +                       (second (find-if
  +                                (lambda (tuple)
  +                                  (> unix-time
  +                                     (- (first tuple)
  +                                        (first
  +                                         (nth (second tuple)
  +                                              (timezone-subzones timezone))))))
  +                                (timezone-transitions timezone)))
  +                       0)))
  +    (first (nth subzone-idx (timezone-subzones timezone)))))
  +
   (defun adjust-to-timezone (source timezone &optional (destination nil))
     "Returns two values, the values of new DAY and SEC slots, or, if DESTINATION is a LOCAL-TIME instance, fills the slots with the new values and returns the destination"
     (declare (type local-time source)
  
positive.code:   ;; FIXME: How to portably convert between internal and local time?
    (declare (ignorable local-time))
    (error "Not implemented"))
  
  (defun local-timezone (adjusted-local-time
                         &optional (timezone *default-timezone*))
    "Return the local timezone adjustment applicable at the already adjusted-local-time. Used to reverse the effect of TIMEZONE and LOCAL-TIME-ADJUST."
    (let* ((unix-time (unix-time adjusted-local-time))
           (subzone-idx (or
                         (second (find-if
                                  (lambda (tuple)
                                    (> unix-time
                                       (- (first tuple)
                                          (first
                                           (nth (second tuple)
                                                (timezone-subzones timezone))))))
                                  (timezone-transitions timezone)))
                         0)))
      (first (nth subzone-idx (timezone-subzones timezone)))))
  
  (defun read-timestring (stream char)
    (declare (ignore char))
  
negative.code:        hours
         minutes
         seconds))))
  
  (declaim (ftype (function (local-time) (values (integer 0 999999999) (integer 0 59) (integer 0 59) (integer 0 23)
                                                 (integer 1 31) (integer 1 12) (integer -1000000 1000000)
                                                 t t t))
                  decode-local-time))
  
  (defun decode-local-time (local-time)
    "Returns the decoded time as multiple values: nsec, ss, mm, hh, day, month, year, day-of-week, daylight-saving-time-p, timezone, and the customary timezone abbreviation."
  