anchor.diff:           (vector ,@(loop :for elt :from 0 :below length
                         :collecting `(unserialize ,element-type)))))))
   
  +;;; serializer for keywords
   (define-serializer (:keyword value)
     (declare (type symbol value))
     (serialize :string (symbol-name value)))
  
positive.code:          (loop :for ii :from 1 :to len
                 :collecting (unserialize ,element-type))))))
  
  (defmacro make-vector-serializer (type element-type length &key layer)
    (let ((elt (gensym "ELT-"))
          (value (gensym "VALUE-")))
  
negative.code:          (declare (ignore ,keysym))
           (apply #'unserialize ,was-key ,rest)))))
  
  ;;; serializer for objects fetched by a key
  (defmacro make-key-*-serializer (serialize-it unserialize-it
                                   (key var
                                           type-getter-var-list
                                           finder-form
                                           &key layer extra)
                                      &rest type-*-pairs)
    `(progn
       (define-serializer (,key ,var :layer ,layer :extra ,extra)
         (serialize* ,@(loop :for aa :on type-getter-var-list :by #'cdddr
  