anchor.diff:                                           (eql corba:vm_truncatable (op:type_modifier tc)))))
                      (let ((chunking (or truncatable (> *chunking-level* 0)))
                            (repoid (cond (truncatable (truncatable-interfaces tc))
  -                                       ((not exact-type) id))))
  +                                       ((or (not exact-type) 
  +                                            (not *exact-type-value-marshap-opt*))
  +                                        id))))
                        (marshal-value-header repoid chunking buffer)
                        (marshal-value-state chunking 
                                             (all-feature-values tc value)
  
positive.code:         ,@supported_interfaces)
         (,@(loop for (name) in members
                  collect `(,(feature name) :initarg ,(key name)))))
       (defmethod shared-initialize ((value ,symbol) slot-names &key factory &allow-other-keys)
         (declare (ignore slot-names))
         (if factory (raise-system-exception 'CORBA:BAD_PARAM))
         (call-next-method))
       (defmethod object-id ((value ,symbol))
  
negative.code:          (marshal-multiple values types buffer))))
  
  
  (defparameter *exact-type-value-marshap-opt* t)
  
  (defun marshal-value (value buffer &optional expected-id)
    (flet ((marshal-value-1 (value buffer)
             (let ((id (object-id value)))
  