anchor.diff:  		(return-from extract-string)
   		(princ (code-char code) s))))))))
   
  -;; --------- packets / structures --------------------------
  +;; --------------------- packets / structures --------------------------
   
   
   (defparameter *default-packing* 4
  
positive.code: should return the object.
  
  SIZE is the total number of bytes this object consumes."
    (setf (gethash name *type-definitions*)
  	(list name pack-handler unpack-handler size))
    nil)
  
  (defun get-type (name)
    "Find the type definition."
  
negative.code: ;; ----------------- basic type defintions follow ----------------
  
  (defmacro define-type (name ((pobject pbuffer pstart) &body pbody) ((ubuffer ustart) &body ubody) size)
    ;;`(eval-when (:compile-toplevel :load-toplevel :execute)
    `(progn
       (%define-type ',name 
  				   (lambda (,pobject ,pbuffer ,pstart) ,@pbody)
  				   (lambda (,ubuffer ,ustart) ,@ubody)
  				   ,size)))
  
  (defmacro define-alias (alias name)
  ;;  `(eval-when (:compile-toplevel :load-toplevel :execute)
    `(progn
       (%define-alias ',alias ',name)))
  
  (define-type :uint8 
  