anchor.diff:                                          :documentation documentation))
                      (incf oneof-offset)))))
       `(progn
  -       ,desc)))
  +       ,(make-oneof-descriptor
  +         :internal-name internal-name
  +         :external-name name
  +         :fields field-list))))
   
   (declaim (inline proto-%bytes))
   (defun proto-%bytes (obj)
  
positive.code:                      (clos-type-to-protobuf-type type)
                     (declare (ignore packed-p enum-values))
                     (assert index)
                     (setf (aref (oneof-descriptor-fields desc) oneof-offset)
                           (make-instance 'field-descriptor
                                          :name (or name (slot-name->proto slot))
                                          :type (or typename ptype)
  
negative.code:   NAME: The name of the oneof.
    FIELDS: Field as output by protoc."
    (let* ((internal-name (fintern "%~A" name))
           (oneof-offset 0)
           (field-list (make-array (length fields)
                                   :element-type 'field-descriptor)))
      (loop for field in fields
            do (destructuring-bind (slot &key type typename name (default nil default-p)
                                           lazy index documentation &allow-other-keys)
  