anchor.diff:     (sec :accessor sec-of :initarg :sec :initform 0 :type integer)
      (nsec :accessor nsec-of :initarg :nsec :initform 0 :type (integer 0 999999999))))
   
  +(defstruct subzone
  +  (abbrev nil)
  +  (offset nil)
  +  (daylight-p nil))
  +
   (defstruct timezone
     (transitions #(0) :type simple-vector)
     (indexes #(0) :type simple-vector)
  -  (subzones #(nil) :type simple-vector)
  +  (subzones #() :type simple-vector)
     (leap-seconds nil :type list)
     (path nil)
     (name "anonymous" :type string)
  
positive.code:                                                 (timezone-transitions timezone))))
           (subzone (elt (timezone-subzones zone) subzone-idx)))
      (values
       (first subzone)
       (second subzone)
       (third subzone))))
  
  (defun %adjust-to-offset (sec day offset)
    "Returns two values, the values of new DAY and SEC slots of the timestamp adjusted to the given timezone."
  
negative.code:   (print-unreadable-object (object stream :type t)
      (format stream "~:[UNLOADED~;~{~a~^ ~}~]"
              (timezone-loaded object)
              (map 'list #'subzone-abbrev (timezone-subzones object)))))
  
  (defun astronomical-julian-date (timestamp)
    "Returns the astronomical julian date referred to by the timestamp."
  