anchor.diff:         (declare (type packet packet)
   		(ignore type)
   		(type (unsigned-byte ,(* bytes 8)) value))
  -       (add-bytes packet
  -		  ,@(loop :for ii :from (- bytes 1) :downto 0
  -		       :collecting `(ldb (byte 8 ,(* ii 8)) value))))
  +       (add-bytes-helper packet value ,bytes))
        (defmethod unserialize (packet (type (eql ,key)))
          (declare (type packet packet)
   		(ignore type))
  -       (let ((value 0))
  -	 (declare (type (unsigned-byte ,(* bytes 8)) value))
  -	 (let ((packet (get-bytes packet
  -				  ,@(loop :for ii :from (- bytes 1) :downto 0
  -				       :collecting
  -				       `(ldb (byte 8 ,(* ii 8)) value)))))
  -	   (declare (type packet packet))
  -	   (values value packet))))))
  +       (get-bytes-helper packet value ,bytes))))
   
   ;;; unsigned-int serialization
   (make-uint-serializer :uint8  1)
  
positive.code:     (incf (fill-pointer packet) length)
      (setf (subseq packet start (+ start length)) value)
      packet))
  
  
  (defmethod unserialize (packet (type (eql :bytes)))
    (declare (type packet packet)
  
negative.code: 	     `((declare (ignore ,pkt)) ,@body)))))
  
  ;;; floating-point type helper
  (defmacro make-float-serializer (key type bytes encoder decoder)
    `(progn
       (defmethod serialize (packet (type (eql ,key)) value)
         (declare (type packet packet)
  		(ignore type)
  		(type ,type value))
         (add-bytes-helper packet (,encoder value) ,bytes))
       (defmethod unserialize (packet (type (eql ,key)))
         (declare (type packet packet)
  		(ignore type))
         (multiple-value-bind (vv packet)
  	   (get-bytes-helper packet vv ,bytes)
  	 (declare (type (unsigned-byte ,(* bytes 8)) vv)
  		  (type packet packet))
  	 (values (,decoder vv) packet)))))
  
  ;;; floating-point type serializers/deserializers
  (make-float-serializer :float32 single-float 4
  		       ieee-floats:encode-float32
  		       ieee-floats:decode-float32)
  (make-float-serializer :float64 double-float 8
  		       ieee-floats:encode-float64
  		       ieee-floats:decode-float64)
  
  