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