anchor.diff:  
   (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#)))
  +  (let ((url (url 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)))
  
positive.code: 	  (common-address-port common-address)
  	  (common-address-path common-address)))
  
  (defun url-address (url)
    "Get address for URL."
    (if (common-address-p #1=(url-address% url))
        (common-address-string #1#)
        #1#))
  
  (defun url-user (url)
    "Get user for URL."
    (when (common-address-p #1=(url-address% url))
      (common-address-user #1#)))
  
  (defun url-password (url)
    "Get password for URL."
    (when (common-address-p #1=(url-address% url))
      (common-address-password #1#)))
  
  (defun url-host (url)
    "Get host for URL."
    (when (common-address-p #1=(url-address% url))
      (common-address-host #1#)))
  
  (defun url-port (url)
    "Get port for URL."
    (when (common-address-p #1=(url-address% url))
      (common-address-port #1#)))
  
  (defun url-path (url)
    "Get path for URL."
    (when (common-address-p #1=(url-address% url))
      (common-address-path #1#)))
  
  (define-condition malformed-url (error)
    ((message :type string
  
negative.code: (defstruct (url (:constructor make-url%)
  		(:predicate url-p%))
    "URL type."
    (scheme% nil :type symbol)
    (address% nil :type (or string common-address)))
  
  (defun common-address-string (common-address)
  