anchor.diff:                              ;; the secondary return value for anything.
                               (setq ,vidx (+ payload-start payload-len))
                               ,(if lazy-p
  +                                 ;; If this field is declared lazy, then don't deserialize.
  +                                 ;; Instead, create a new message with %BYTES field set to
  +                                 ;; the bytes on the wire.
                                    `(push (make-message-with-bytes
                                            ',class (subseq ,vbuf payload-start ,vidx))
                                           ,dest)
  
positive.code:                   `(multiple-value-bind (payload-len payload-start)
                         (decode-uint32 ,vbuf ,vidx)
                       (setq ,vidx (+ payload-start payload-len))
                       ,(if lazy-p
                            `(setq ,dest (make-message-with-bytes
                                          ',class (subseq ,vbuf payload-start ,vidx)))
  
negative.code:            (type fixnum ,size))
            (let ((,bytes (and (slot-exists-p ,vobj '%bytes)
                               (proto-%bytes ,vobj))))
              ;; If BYTES is bound, then VOBJ is a lazy field, and BYTES is the pre-computed
              ;; serialization of VOBJ. So, just output that.
              (cond
                (,bytes
                 (setf ,size (length ,bytes))
  