anchor.diff:                (:nsec (+ (* (day-of duration) +nsecs-per-day+)
                           (* (sec-of duration) +nsecs-per-second+)
                           (nsec-of duration))))))
  -      (values whole-units (duration :sec (or remaining-secs 0) :nsec (or remaining-nsecs 0))))))
  +      (values whole-units (duration :day (or remaining-days 0) :sec (or remaining-secs 0) :nsec (or remaining-nsecs 0))))))
   
   (defun duration+ (&rest durations)
     "Returns a fresh duration representing the sum of the lengths of its arguments."
  
positive.code:    (nsec :accessor nsec-of :initarg :nsec :initform 0 :type (integer 0 999999999)))
    (:documentation "A duration instance represents a period of time with no additional context (e.g., starting or ending time or location)."))
  
  (defmethod print-object ((object duration) stream)
    (print-unreadable-object (object stream :type 'duration)
      (multiple-value-bind (days remaining)
          (duration-as object :day)
        (multiple-value-bind (hours remaining)
            (duration-as remaining :hour)
          (multiple-value-bind (minutes remaining)
  
negative.code: (in-package :ltd)
  1
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (defconstant +nsecs-per-second+ 1000000000)
    (defconstant +nsecs-per-minute+ (* +nsecs-per-second+ local-time:+seconds-per-minute+))
    (defconstant +nsecs-per-hour+ (* +nsecs-per-second+ local-time:+seconds-per-hour+))
    (defconstant +nsecs-per-day+ (* +nsecs-per-second+ local-time:+seconds-per-day+))
    (defconstant +nsecs-per-week+ (* +nsecs-per-day+ local-time:+days-per-week+)))
  
  (defclass duration ()
    ((day :accessor day-of :initarg :day :initform 0 :type integer)
  