anchor.diff:                         (destructuring-bind (vname vval) v
                            `((= val ,vval) ',vname)))
                        vals)
  -           (t (error "Unexpected enum value ~A expected one of ~A"
  -                     val
  -                     ',(mapcar #'cadr vals))))))
  +           ,(if (cadr (assoc :exclusive options))
  +		`(t (error "Unexpected enum value ~A expected one of ~A"
  +			 val
  +			 ',(mapcar #'cadr vals)))
  +		`(t val)))))
        (defxencoder ,name (blk sym)
          (encode-uint32 blk
                         (cond
  
positive.code: NAME ::= type name
  OPTIONS ::= list of options
  VALS ::= list of forms (symbol integer)*."
    (declare (ignore options))
    `(progn
       (defxdecoder ,name (blk)
         (let ((val (decode-int32 blk)))
  
negative.code:                                     (destructuring-bind (vname vval) v
                                        `((eq sym ',vname) ,vval)))
                                    vals)
  			(t (error "Unexpected enum value ~A expected one of ~A"
  				  sym
  				  ',(mapcar #'car vals))))))))
  