anchor.diff:    (with-prefixed-accessors (year month day hour minute second microsecond)
         (mysql-date-time- date-time)
       (assert (>= year 1900))
  -    ;; asedeno-TODO: warn on loss of microseconds
  -    (encode-universal-time second minute hour day month year 0)))
  -
  -(defun universal-time-to-mysql-date-time (integer-time)
  +    ;; 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)
  
positive.code:                          :days days
                           :hours hours
                           :minutes minutes
                           :seconds seconds))))))
  
  (defun parse-time-interval-string (str)
    (let ((negativep (starts-with str "-")))
  
negative.code:                    :day day
                     :hour hour
                     :minute minute
                     :second second
                     :microsecond microseconds)))
  
  (defun parse-date-time-string (str)
    (let ((year 0) (month 0) (day 0)
  