anchor.diff:               (msg    (and class (not (keywordp class))
                             (or (find-message class)
                                 (find-enum class)
  -                              (find-type-alias class))))
  +                              (find-type-alias class)
  +                              (find-map class))))
                (index  (proto-index field))
                (temp (make-symbol (string (proto-internal-field-name field)))))
           (cond ((eq (proto-label field) :repeated)
  
positive.code:                      (t
                        (undefined-field-type "While generating 'deserialize-object' for ~S,"
                                              message class field))))
                ((eq class :map)
                 (setf nslot temp)
                 (let* ((start vidx)
                        (key-type (proto-type->keyword
                                   (second (proto-set-type field))))
                        (val-type (proto-type->keyword
                                   (third (proto-set-type field))))
                        (val-msg  (and val-type (not (keywordp val-type))
                                       (or (find-message val-type)
                                           (find-enum val-type)
                                           (find-type-alias val-type)))))
                   (ret
                    (make-tag $wire-type-string index)
                    `(progn
  
negative.code:                            (decode-uint32 ,vbuf ,vidx))
                           (if (= 1 (ilogand (iash map-tag -3) #x1FFFFFFF))
                               (multiple-value-setq (key-data ,vidx)
                                 (deserialize-prim ,key-class ,vbuf ,vidx))
                               ,(cond ((keywordp val-class)
                                       `(multiple-value-setq (val-data ,vidx)
                                          (deserialize-prim ,val-class ,vbuf ,vidx)))
                                      ((typep val-msg 'message-descriptor)
                                       (if (eq (proto-message-type val-msg) :group)
                                           (let ((tag2 (make-tag $wire-type-end-group 2)))
  