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: 	  (common-address-port common-address)
  	  (common-address-path common-address)))
  
  (defun url-scheme (url)
    "Get scheme for URL."
    (url-scheme% (url url)))
  
  (defun url-address (url)
    "Get address for URL."
    (let ((url (url url)))
      (if (common-address-p #1=(url-address% url))
          (common-address-string #1#)
          #1#)))
  
  (defun url-user (url)
    "Get user for URL."
    (let ((url (url url)))
      (when (common-address-p #1=(url-address% url))
        (common-address-user #1#))))
  
  (defun url-password (url)
    "Get password for URL."
    (let ((url (url url)))
      (when (common-address-p #1=(url-address% url))
        (common-address-password #1#))))
  
  (defun url-host (url)
    "Get host for URL."
    (let ((url (url url)))
      (when (common-address-p #1=(url-address% url))
        (common-address-host #1#))))
  
  (defun url-port (url)
    "Get port for URL."
    (let ((url (url url)))
      (when (common-address-p #1=(url-address% url))
        (common-address-port #1#))))
  
  (defun url-path (url)
    "Get path for URL."
    (let ((url (url url)))
      (when (common-address-p #1=(url-address% url))
        (common-address-path #1#))))
  
  (define-condition malformed-url (error)
    ((message :type string
  