anchor.diff:         (undefined-field-type "While printing ~S to text format,"
                                object type field)))))
   
  -(defun print-scalar (val type field stream indent)
  +(defun print-scalar (val type name stream indent)
     "Print scalar value to stream
   
   Parameters:
     VAL: The data for the value to print.
     TYPE: The type of val.
  -  FIELD: The field which contains this value. This parameter
  -         can be nil. In this case, the name of the field will
  -         not be printed.
  +  NAME: The name to print before the value. If nil, then no
  +        name will be printed.
     STREAM: The stream to print to.
     INDENT: Either a number or nil.
             - If indent is a number, indent this print
  
positive.code:   (when (or val (eq type :bool))
      (when indent
        (format stream "~&~V,0T" (+ indent 2)))
      (when field
        (format stream "~A: " (proto-name field)))
      (ecase type
        ((:int32 :uint32 :int64 :uint64 :sint32 :sint64
          :fixed32 :sfixed32 :fixed64 :sfixed64)
  
negative.code:        (when value
           (let ((value (funcall (proto-serializer msg) value))
                 (type  (proto-proto-type msg)))
             (print-scalar value type (proto-name field) stream
                           (and pretty-print indent)))))
        ;; todo(benkuehnert): use specified map format
        ((typep msg 'map-descriptor)
  