anchor.diff:                        strval)
           (slots-equalp (second (recvals test6))
                         (second (recvals (deserialize-object 'basic-test6 tser6)))
  -                      strval)))))
  +                      strval)
  +        (slots-equalp test7 (deserialize-object 'basic-test7 tser7)
  +                      strval intvals)
  +        (slots-equalp (first (subgroups test7))
  +                      (first (subgroups (deserialize-object 'basic-test7 tser7)))
  +                      strval intvals)
  +        (slots-equalp (second (subgroups test7))
  +                      (second (subgroups (deserialize-object 'basic-test7 tser7)))
  +                      strval intvals)))))
   
   ;; TODO(cgay): surely this can re-use the code from basic-serialization, above?
   (deftest basic-optimized-serialization (serialization-tests)
  -  (dolist (class '(basic-test1 basic-test2 basic-test3 basic-test4 basic-test5 basic-test6))
  +  (dolist (class '(basic-test1 basic-test2 basic-test3 basic-test4
  +                   basic-test5 basic-test6 basic-test7 subgroups))
       (let ((message (proto:find-message-for-class class)))
         (handler-bind ((style-warning #'muffle-warning))
  -        (eval (proto-impl:generate-serializer   message))
  -        (eval (proto-impl:generate-deserializer message)))))
  +        (eval (proto-impl:generate-serializer message))
  +        (when (not (equal class 'basic-test7))
  +          (eval (proto-impl:generate-deserializer message))))))
     (let* ((test1  (proto-impl:make-object basic-test1 :intval 150))
            (test1b (proto-impl:make-object basic-test1 :intval -150))
            (test2  (proto-impl:make-object basic-test2 :strval "testing"))
  
positive.code:       (assert-true (equalp tser4 #(#x1A #x09 #x12 #x07 #x74 #x65 #x73 #x74 #x69 #x6E #x67)))
        (assert-true (equalp tser5 *tser5-bytes*))
        (assert-true (equalp tser6 *tser6-bytes*))
        (macrolet ((slots-equalp (obj1 obj2 &rest slots)
                     (proto-impl::with-gensyms (vobj1 vobj2)
                       (proto-impl::with-collectors ((forms collect-form))
  
negative.code:                                    (parse-text-format 'basic-test6 :stream s))))
                          strval))))))
  
  #+off
  (deftest serialization-integrity (serialization-tests)
    (flet ((do-test (message)
             (let* ((type (type-of message))
  