anchor.diff:  
   (defun bytes (integer size)
     "Expand an INTEGER into its consituent number of SIZE bytes."
  +  (declare (integer integer size))
     (do ((bytes nil)
  +	   (integer integer (ash integer -8))
          (i 0 (1+ i)))
         ((= i size) (nreverse bytes))
  -    (push (logand integer 255) bytes)
  -    (setf integer (ash integer -8))))
  +    (push (logand integer 255) bytes)))
   
   (defun pack-bytes (bytes buffer start)
     "Pack a list of bytes into a buffer"
  
positive.code: 
  (define-type :int16
      ((int16 buffer start)
       (pack-bytes (bytes int16 2) buffer start))
    ((buffer start)
     (unpack-bytes buffer start 2 t))
  
negative.code: 
  (define-type :uint64 
      ((uint64 buffer start)
  	 (declare (integer uint64))
       (pack-bytes (bytes uint64 8) buffer start))
    ((buffer start)
     (unpack-bytes buffer start 8))
  