anchor.diff:  
   (defun url= (url-x url-y)
     "Test URL-X and URL-Y for equality."
  -  (and (eq (url-scheme url-x) (url-scheme url-y))
  -       (equal (url-user url-x) (url-user url-y))
  -       (equal (url-password url-x) (url-password url-y))
  -       (equal (url-host url-x) (url-host url-y))
  -       (equal (url-port url-x) (url-port url-y))
  -       (equal (url-path url-x) (url-path url-y))))
  +  (let ((url-x (url url-x))
  +        (url-y (url url-y)))
  +    (and (eq (url-scheme% url-x) (url-scheme% url-y))
  +         (equal (url-user url-x) (url-user url-y))
  +         (equal (url-password url-x) (url-password url-y))
  +         (equal (url-host url-x) (url-host url-y))
  +         (equal (url-port url-x) (url-port url-y))
  +         (equal (url-path url-x) (url-path url-y)))))
   
   (defun url-scheme-string (scheme)
     "Return string for SCHEME."
  
positive.code: 
  (defun url-string (url)
    "Return string for URL."
    (if (common-address-p #1=(url-address% url))
        (format nil "~a://~a"
  	      (url-scheme-string (url-scheme url))
  	      (common-address-string #1#))
        (format nil "~a:~a"
  	      (url-scheme-string (url-scheme url))
  	      #1#)))
  
  (defmethod print-object ((url url) stream)
    (format stream "~a" (url-string url)))
  
negative.code:       (run (=url) string)
      (unless scheme
        (error 'malformed-url :message "Can not parse URL."))
      (make-url% :scheme% (intern (string-upcase scheme) :keyword)
  	       :address% (if common-address-p
  			     (parse-common-address address)
  			     address))))
  