anchor.diff:    (when (symbolp id)
       (setq id (symbol-ifr-id id)))
     (cond ((op:_is_a obj id)
  -         (make-instance (find-proxy-class id)
  -                        :id id
  -                        :forward (object-forward obj)
  -                        :profiles (object-profiles obj)
  -                        :raw-profiles (object-raw-profiles obj)))
  +         (let ((new (create-objref (the-orb obj)
  +                        :ior-id id :profiles (object-profiles obj)
  +                        :raw-profiles (object-raw-profiles obj))))
  +           (setf (object-forward new) (object-forward obj))
  +           new))
           (no-error nil)
           (t
            (error "Object of wrong type for narrowing"))))
  
positive.code: ;;;|     out Request	request,		
  ;;;|     in Flags        req_flags    );
  
  (define-method _create_request ((obj t) ctx operation arg_list result req_flags)
    (declare (ignore ctx operation arg_list result req_flags))
    (raise-system-exception 'CORBA:NO_IMPLEMENT 4 :completed_no))
  
  
  (define-method _create_request ((obj CORBA:Object)
                                  ctx operation arg_list result req_flags)
    (declare (ignorable req_flags))
    (if result
        (setf (op:arg_modes result) ARG_OUT)
      (setq result (CORBA:NamedValue :arg_modes ARG_OUT
                                     :argument (CORBA:Any))))
    (values
     result
     (make-instance 'client-request
       :target obj
       :operation operation
       :paramlist (cons result (copy-seq arg_list))
       :ctx ctx)))
  
  
  
  (define-method _is_a ((obj CORBA:Proxy) interface-id)
  
negative.code:    (forward :initform nil :initarg :forward :accessor object-forward)
     (forward-reset :initform nil :accessor object-forward-reset)))
  
  
  (defgeneric profile-short-desc (profile stream)
    (:method ((profile t) stream) (write-string "*" stream)))
  
  
  (defmethod print-object ((o corba:proxy) stream)
    (print-unreadable-object (o stream :type t)
  