anchor.diff:                                                           (slot-name->proto slot))
                       :type type
                       :label label
  -                    :container (when (eq label :repeated) :list)
                       :index index
                       :internal-field-name internal-slot-name
                       :external-field-name slot
  
positive.code:          (public-accessor-name (proto-slot-function-name proto-type public-slot-name :get))
           (hidden-accessor-name (fintern "~A-~A" proto-type slot-name))
           (bool-index (proto-bool-index field))
           (bit-field-name (fintern "~A-%%BOOL-VALUES" proto-type))
           (accessor-return-type
            (cond ((eq (proto-container field) :vector)
                   `(cl-protobufs:vector-of ,(proto-type field)))
                  ((eq (proto-container field) :list)
                   `(cl-protobufs:list-of ,(proto-type field)))
                  ((member (proto-kind field) '(:message :group :extends))
                   `(or null ,(proto-type field)))
                  (t (proto-type field)))))
      (with-gensyms (obj)
        `((defun-inline ,public-accessor-name (,obj)
            (the ,accessor-return-type
                 ,(if bool-index
                      `(plusp (bit (,bit-field-name ,obj) ,bool-index))
                      `(,hidden-accessor-name ,obj))))
  
          ,@(make-common-forms-for-structure-class
             proto-type public-slot-name slot-name field)
  
negative.code:         (index (proto-field-offset field))
          (clear-function-name (proto-slot-function-name proto-type public-slot-name :clear))
          (bool-index (proto-bool-index field))
          (bit-field-name (fintern "~A-%%BOOL-VALUES" proto-type)))
      ;; If index is nil, then this field does not have a reserved bit in the %%is-set vector.
      ;; This means that the field is proto3-style optional, so checking for field presence must
      ;; be done by checking if the bound value is default.
      (with-gensyms (obj new-value cur-value)
        `(
          (defun-inline (setf ,public-accessor-name) (,new-value ,obj)
            ,(when index
               `(setf (bit (,is-set-accessor ,obj) ,index) 1))
            ,(if bool-index
  