anchor.diff:  
   (defparameter +month-days+
     (make-array 12 :initial-contents
  -			  (loop for length across #(0 31 30 31 30 31 31 30 31 30 31 31)
  +              (loop for length across #(0 31 30 31 30 31 31 30 31 30 31 31)
                       as days = 0 then (+ days length)
                       collect days)))
   
  
positive.code: 
  (defun unix-time (local-time)
    "Return the Unix time corresponding to the LOCAL-TIME"
    (+ (* (+ (day-of local-time) 11017) 86400)
  	 (sec-of local-time)))
  
  (defun timezone (local-time &optional timezone)
    "Return as multiple values the time zone as the number of seconds east of UTC, a boolean daylight-saving-p, the customary abbreviation of the timezone, the starting time of this timezone, and the ending time of this timezone."
    (let* ((zone (realize-timezone
                  (or timezone (timezone-of local-time) *default-timezone*)))
  		 (subzone-idx (or
  					   (second (assoc (unix-time local-time)
  									  (timezone-transitions zone)
  									  :test #'>))
  					   0))
  		 (subzone (nth subzone-idx (timezone-subzones zone))))
  	(values
  	 (first subzone)
  	 (second subzone)
  	 (third subzone))))
  
  (defun local-time-adjust (source timezone &optional (destination nil))
    "Returns two values, the values of new DAY and SEC slots, or, if DESTINATION is a LOCAL-TIME instance, fills the slots with the new values and returns the destination"
  
negative.code: (defun string-from-unsigned-vector (vector offset)
    "Returns a string created from the vector of unsigned bytes VECTOR starting at OFFSET which is terminated by a 0."
    (let ((null-pos (or (position 0 vector :start offset) (length vector))))
      (with-output-to-string (str)
                             (loop for idx from offset upto (1- null-pos)
                                   do (princ (code-char (aref vector idx)) str)))))
  
  