anchor.diff:  (define-alias :schar :int8)
   
   (define-type :int16
  -  ((int16 buffer start)
  -   (pack-bytes (bytes int16 2) buffer start))
  +	((int16 buffer start)
  +	 (pack-bytes (bytes int16 2) buffer start))
     ((buffer start)
      (unpack-bytes buffer start 2 t))
     2)
  
positive.code: 				   ,size)))
  
  (defmacro define-alias (alias name)
  ;;  `(eval-when (:compile-toplevel :load-toplevel :execute)
    `(progn
       (%define-alias ',alias ',name)))
  
  (define-type :uint8 
    ((uint buffer start) (setf (elt buffer start) uint))
    ((buffer start) (elt buffer start))
    1)
  
  (define-type :char 
    ((char buffer start)
     (pack-bytes (list (char-code char)) buffer start))
    ((buffer start)
     (let ((bytes (unpack-bytes buffer start 1)))
       (code-char (car bytes))))
    1)
  
  (define-type :wchar 
    ((char buffer start)
     (pack-bytes (bytes (char-code char) 2) buffer start))
    ((buffer start)
     (let ((code (unpack-bytes buffer start 2)))
       (code-char code)))
    2)
  
  (define-type :uint16
    ((uint16 buffer start)
       (pack-bytes (bytes uint16 2) buffer start))
    ((buffer start)
     (unpack-bytes buffer start 2))
  
negative.code: 
  
  ;; ------------------------- arrays ------------------------------------
  
  (defun pack-array (array type buffer start)
    "Pack an array of object into the buffer."
    (let ((size (type-size type)))
  