anchor.diff:  
   (defun set-all-fields (m)
     ;; optional and default fields
  -  (let ((field-info (append +optional-field-info+ +default-field-info+)))
  -    (loop for (field . value) in field-info do
  -          (let ((setter (field-setter field)))
  +  (let ((field-info (append *optional-field-info* *default-field-info*)))
  +    (loop for (field . values) in field-info do
  +          (let ((setter (field-setter field))
  +                (value (second values)))
               (funcall setter value m))))
     (setf (pb:a (pb:optionalgroup m)) 117)
     (setf (pb:bb (pb:optional-nested-message m)) 118)
  
positive.code:       (pb:merge m2 buffer 0 size)
        (expect-all-fields-set m2))))
  
  (defun test ()
    (test-parse-from-file)
    (test-parse-packed-from-file)
    (test-parse-helpers)
    (print "PASS")
    (values))
  
negative.code: 
  (defun expect-all-fields-set (m)
    ;; optional and default fields
    (let ((field-info (append *optional-field-info* *default-field-info*)))
      (loop for (field . values) in field-info do
            (let ((has (field-function "HAS-" field))
                  (accessor (field-function "" field))
                  (value (second values)))
              (assert (funcall has m))
              (assert (field-equal (funcall accessor m) value)))))
  
  