anchor.diff:                            (fail-on-error t) (time-separator #\:)
                             (date-separator #\-)
                             (date-time-separator #\T)
  -                          (allow-missing-elements-p t)
  -                          (allow-missing-date-part-p allow-missing-elements-p)
  -                          (allow-missing-time-part-p allow-missing-elements-p)
  -                          (allow-missing-timezone-part-p allow-missing-elements-p))
  +                          (allow-missing-elements t)
  +                          (allow-missing-date-part allow-missing-elements)
  +                          (allow-missing-time-part allow-missing-elements)
  +                          (allow-missing-timezone-part allow-missing-elements))
     "Based on http://www.ietf.org/rfc/rfc3339.txt including the function names used. Returns (values year month day hour minute second nsec offset-hour offset-minute). On parsing failure, signals INVALID-TIMESTRING if FAIL-ON-ERROR is NIL, otherwise returns NIL."
     (declare (type character date-time-separator time-separator date-separator)
              (type simple-string time-string)
  
positive.code:     (coerce result 'simple-base-string)))
  
  (defun format-rfc3339-timestring (destination timestamp &key
                                    omit-date-part-p
                                    omit-time-part-p
                                    omit-timezone-part-p
                                    (use-zulu-p t)
                                    (timezone *default-timezone*))
    "Formats a timestring in the RFC 3339 format, a restricted form of the ISO-8601 timestring specification for Internet timestamps."
    (let ((rfc3339 (append
                    (unless omit-date-part-p '((:year 4) #\-
                                               (:month 2) #\-
                                               (:day 2)))
                    (unless (or omit-date-part-p omit-time-part-p) '(#\T))
                    (unless omit-time-part-p '((:hour 2) #\:
                                               (:min 2) #\:
                                               (:sec 2) #\.
                                               (:usec 6)))
                    (unless omit-timezone-part-p
                      (if use-zulu-p '(:gmt-offset-or-z) '(:gmt-offset))))))
      (format-timestring destination timestamp :format rfc3339 :timezone timezone)))
  
  (defun %read-timestring (stream char)
    (declare (ignore char))
  
negative.code:                            (setf offset-hour 0
                                   offset-minute 0))
                           (if (= count 1)
                               (passert allow-missing-timezone-part)
                               (let* ((entry (second parts))
                                      (start (car entry))
                                      (end (cdr entry)))
  