anchor.diff:                                    (let ((arm-val (car arm)))
                                       (eq arm-val 't)))
                                   arms)
  -                `((t (error "Unexpected union tag ~A" tag))))))))))
  +		       `((t (error 'xdr-error
  +				   :format-string "Unexpected union tag ~A"
  +				   :args (list tag)))))))))))
   
   (defmacro defxoptional (name options type)
     "Define an optional-type encoder and decoder.
  
positive.code: 			(t (error "Unexpected enum value ~A expected one of ~A"
  				  sym
  				  ',(mapcar #'car vals))))))))
  
negative.code:     ret))
  
  (defun encode-array (blk item-encoder array &optional count)
    (declare (type xdr-block blk)
  	   (type function item-encoder)
  	   (type vector array)
  	   (type (or null integer) count))
    (when count
      (unless (= count (length array))
        (error 'xdr-error
  