anchor.diff:  		    year)
   		 ;; Almost there. However, it is necessary to check for
   		 ;; overflows first
  -		 (encode-local-time usec ss mm hh
  +		 (encode-local-time nsec ss mm hh
   				    (fix-overflow-in-days day month-new year-new)
   				    month-new year-new
   				    :timezone timezone)))))
       
       (ecase location
  -      ((:usec :sec :minute :hour :day)
  +      ((:nsec :sec :minute :hour :day)
          (direct-adjust location offset
  -		      (usec-of time)
  +		      (nsec-of time)
   		      (sec-of time)
   		      (day-of time)
   		      (timezone-of time)))
  
positive.code:                               day-of-week))
                         position)))
          (incf day offset))
      (encode-local-time usec sec min hour day month year :timezone timezone :into into)))
  (defun normalize-month-year-pair (month year)
    "Normalizes the month/year pair: in case month is < 1 or > 12
  the month and year are corrected to handle the overflow."
  
negative.code:   "Returns a new LOCAL-TIME containing the difference between TIME-A and TIME-B"
    (multiple-value-bind (day-a sec-a)
        (local-time-adjust time-a (timezone-of time-b))
        (let ((nsec (- (nsec-of time-a) (nsec-of time-b)))
              (seconds (- sec-a (sec-of time-b)))
              (days (- day-a (day-of time-b))))
          (when (minusp nsec)
            (decf seconds)
            (incf nsec 1000000000))
          (when (minusp seconds)
            (decf days)
            (incf seconds 86400))
          (make-local-time :nsec nsec
                           :sec seconds
                           :day days))))
  
  