anchor.diff:  						 ,gsize)))
          ',name)))
   
  -
  -(defun pack (object type &key footer)
  +(defun pack (object type)
     "Make a packet buffer from the initial object."
  -  (let ((flen (length footer))
  -        (tsize (type-size type)))
  +  (let ((tsize (type-size type)))
   
       (unless tsize
         (error "Type ~S not found" type))
  
positive.code: 		   (if (stringp value)
  			   (pack-wstring value length buffer (+ start offset))
  			   (error "Value ~S is not of type STRING for slot ~S." value slot-name)))
  		  ((> (length value) length)
  		   (error "Array for slot ~S is too large" slot-name))
  		  (t 
  		   (pack-array value slot-type buffer (+ start offset)))))))
    buffer)
  
  (defun unpack-object (object slots buffer start)
  
negative.code:     ;; if its a string type then allocate a buffer to put it in
      (case type
        (:string (setf tsize (length object)))
        (:wstring (setf tsize (* 2 (length object)))))
  
      (let ((buffer (make-array tsize
                                :element-type '(unsigned-byte 8)
                                :initial-element 0)))
  
  