anchor.diff:  (defun mysql-time-interval-to-seconds (interval)
     (assert (typep interval 'mysql-time-interval))
     (with-prefixed-accessors (negativep days hours minutes seconds microseconds)
  -      (mysql-time-interval- interval)
  -    (* (if negativep -1 1)
  -       (+ seconds
  -          (* +seconds-per-minute+
  -             (+ minutes
  -                (* +minutes-per-hour+
  -                   (+ hours
  -                      (* +hours-per-day+ days)))))))))
  -
  -(defun seconds-to-mysql-time-interval (value)
  +    (mysql-time-interval- interval)
  +    (values (* (if negativep -1 1)
  +               (+ seconds
  +                  (* +seconds-per-minute+
  +                     (+ minutes
  +                        (* +minutes-per-hour+
  +                           (+ hours
  +                              (* +hours-per-day+ days)))))))
  +            microseconds)))
  +
  +(defun seconds-to-mysql-time-interval (value &optional (microseconds 0))
     (assert (typep value 'integer))
     (let ((negativep (minusp value))
           (value (abs value)))
  
positive.code:                    :day day
                     :hour hour
                     :minute minute
                     :second second)))
  
  (defun parse-date-time-string (str)
    (let ((year 0) (month 0) (day 0)
  
negative.code:   (with-prefixed-accessors (year month day hour minute second microsecond)
        (mysql-date-time- date-time)
      (assert (>= year 1900))
      ;; asedeno-TODO: log loss of microseconds if non-zero
      (values (encode-universal-time second minute hour day month year 0)
              microsecond)))
  
  (defun universal-time-to-mysql-date-time (integer-time &optional (microseconds 0))
    (assert (typep integer-time 'integer))
    (multiple-value-bind (second minute hour day month year tz)
        (decode-universal-time integer-time 0)
  