anchor.diff:          (dolist (field fields)
             (when (and (include-field field)
                        (not (skip-field field)))
  -            (multiple-value-bind (tags deserializers nslot rslot oneofslot)
  +            (multiple-value-bind (tags deserializers nslot rslot oneof-slot)
                   (generate-field-deserializer message field vbuf vidx :raw-p raw-p)
                 (assert tags)
                 (assert deserializers)
  
positive.code:                     (type array-index ,vidx ,vlim))
             (let (,@(loop for slot in nslots
                           collect `(,slot ,missing-value))
                   ,@(loop for oneofslot in oneofslots
                           collect `(,oneofslot (make-instance 'oneof)))
                   ,@rtemps)
               (loop
                 (multiple-value-setq (tag ,vidx)
  
negative.code:                            #+sbcl`(make-instance ',lisp-type)
                             #-sbcl`(funcall (get-constructor-name ',lisp-type)))
                       ;; oneofs
                       ,@(loop for temp in oneof-slots
                               for mtemp = (slot-value-to-slot-name-symbol temp)
                               nconc (list (intern (string mtemp) :keyword) temp))
                       ;; nonrepeating slots
  