anchor.diff:  
   (defun parse-timestring (timestring &rest args)
     "Parse a timestring and return the corresponding LOCAL-TIME. See split-timestring for details. Unspecified fields in the timestring are initialized to their lowest possible value."
  -  (destructuring-bind (year month day hour minute second offset-hour offset-minute)
  +  (destructuring-bind (year month day hour minute second usec offset-hour offset-minute)
         (apply #'split-timestring timestring args)
       ;; TODO should we assert on month and leap rules here?
  -    (let ((usec 0)
  -          (timezone (if offset-hour
  +    (let ((timezone (if offset-hour
                           (progn
                             (unless offset-minute
                               (setf offset-minute 0))
  
positive.code:                                  (time-offset (second parts) sign))))))))
                   (partial-time (start-end)
                     (with-parts-and-count ((car start-end) (cdr start-end) time-separator)
                       (passert (eql (list-length parts) 3))
                       (time-hour (first parts))
                       (time-minute (second parts))
                       (time-second (third parts))))
  
negative.code:                        (error "Failed to parse ~S as an rfc3339 time" time-string)
                         (return-from %split-timestring nil)))
                   (done ()
                     (return-from %split-timestring (list year month day hour minute second usec offset-hour offset-minute))))
            (parse))))))
  
  (defun parse-rfc3339-timestring (timestring &key (fail-on-error t)
  