anchor.diff:  				   ,size)))
   
   (defmacro define-alias (alias name)
  -;;  `(eval-when (:compile-toplevel :load-toplevel :execute)
  +  ;;  `(eval-when (:compile-toplevel :load-toplevel :execute)
     `(progn
        (%define-alias ',alias ',name)))
   
   (define-type :uint8 
  -  ((uint buffer start) (setf (elt buffer start) uint))
  +	((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))
  +	((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))
  +	((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)
  +	((uint16 buffer start)
        (pack-bytes (bytes uint16 2) buffer start))
     ((buffer start)
      (unpack-bytes buffer start 2))
  
positive.code: (define-alias :short :int16)
  
  (define-type :int32 
    ((int32 buffer start)
     (pack-bytes (bytes int32 4) buffer start))
    ((buffer start)
     (unpack-bytes buffer start 4 t))
    4)
  
negative.code: 	(when (and size (< size offset))
  	  (error "Explicit packet size ~S smaller than minumum packet size ~S."
  			 size offset))
  	
      ;; we have to reverse them becuase they were pushed on so are in reverse order
      (values (nreverse real-slots)
  			offset
  