anchor.diff:  	    ((null (funcall (fdefinition prop) defaults))
   	     (assign-url-property prop))
   	    (t (restart-case
  -		   (error 'merging-error)
  -		 (continue ()) ;we do nothing. the property does not get assigned
  +		   (cerror "Continue. Leave the value unmerged"
  +			   'merge-conflict
  +			   :url url
  +			   :defaults defaults
  +			   :property prop)
   		 (use-value (value)
  +		   :report (lambda (s)
  +			     (format s "Set a value"))
   		   (funcall (fdefinition `(setf ,prop))
   			    value
   			    new-url))
  -		 (use-default ()
  +		 (use-defaults ()
  +		   :report (lambda (s)
  +			     (format s "Use the default value"))
   		   (assign-default-property prop))
   		 (use-url ()
  -		   (assign-url-property prop))))))
  -    new-url)))
  +		   :report (lambda (s)
  +			     (format s "Use the URL value"))
  +		   (assign-url-property prop))
  +		 (superceed ()
  +		   :report (lambda (s)
  +			     (format s "Superceed (use the URL value)"))
  +		   (assign-url-property prop)))))))
  +    new-url))
   
   (defun copy-url (url)
     (merge-urls url (make-instance 'generic-url)))
  
positive.code:   (let ((new-url (make-instance 'generic-url)))
      (flet ((assign-default-property (prop)
  	     (funcall (fdefinition `(setf ,prop))
  		      (funcall (fdefinition prop) url)
  		      new-url))
  	   (assign-url-property (prop)
  	     (funcall (fdefinition `(setf ,prop))
  		      (funcall (fdefinition prop) defaults)
  		      new-url)))
      (loop for prop in properties
         do (cond
  
negative.code: 	     :fragment ,fragment))))
        
  ;; Reader plug
  
  (defun sharp-url (stream sub-char numarg)
    (declare (ignore sub-char numarg))
    (let ((namestring (read stream t nil t)))
  