anchor.diff:    STREAM: The stream to output to.
     PRINT-NAME: Whether or not to print the name of the field.
     PRETTY-PRINT: When true, print newlines and indentation."
  +  (unless values
  +    nil) ; If values is NIL, then there is nothing to do.
     (let ((type (proto-class field))
           (msg))
       (cond
  
positive.code:        (doseq (v values)
                (print-scalar v type (proto-name field) stream
                              (and pretty-print indent))))
        ((typep (setq msg (and type (or (find-message type)
                                        (find-enum type)
                                        (find-type-alias type))))
                'message-descriptor)
         (when values
           (let ((indent (+ indent 2)))
             (dolist (v values)
  
               (print-text-format v :indent indent
                                    :stream stream
                                    :name (proto-name field)
                                    :print-name print-name
                                    :pretty-print pretty-print)))))
        ((typep msg 'enum-descriptor)
         (doseq (v values)
                (print-enum v msg field stream
  
negative.code:                  (undefined-field-type "While parsing ~S from text format,"
                                         msg-desc type field))
                  ((eq (proto-label field) :repeated)
                   ;; If slot is NIL, then this field doesn't exist in the message
                   ;; so we skip it.
                   (when slot
                     (pushnew slot rslots)
                     (push val (proto-slot-value object slot))))
  