anchor.diff:    (when remote-filename
       (connect socket (ensure-address remote-filename :family :local))))
   
  -(declaim (inline %%make-local-stream-active-socket))
  -(defun %%make-local-stream-active-socket (family ef local-filename remote-filename
  -                                          input-buffer-size output-buffer-size)
  +(define-socket-creator (:local :stream :active)
  +    (family ef &key local-filename remote-filename
  +            input-buffer-size output-buffer-size)
     (declare (ignore family))
     (with-close-on-error (socket (create-socket :local :stream :active ef
                                                 :input-buffer-size input-buffer-size
                                                 :output-buffer-size output-buffer-size))
       (%%init-local-stream-active-socket socket local-filename remote-filename)))
  -
  -(defun %make-local-stream-active-socket (args family ef)
  -  (destructuring-bind (&key local-filename remote-filename
  -                            input-buffer-size output-buffer-size)
  -      args
  -    (%%make-local-stream-active-socket family ef local-filename remote-filename
  -                                       input-buffer-size output-buffer-size)))
  -
  -(define-compiler-macro %make-local-stream-active-socket (&whole form args family ef)
  -  (with-guard-against-non-list-args-and-destructuring-bind-errors
  -      form args
  -    (destructuring-bind (&key local-filename remote-filename
  -                              input-buffer-size output-buffer-size)
  -        (cdr args)
  -      `(%%make-local-stream-active-socket ,family ,ef ,local-filename ,remote-filename
  -                                          ,input-buffer-size ,output-buffer-size))))
    
   ;;; Local Stream Passive Socket creation
  
positive.code:       (connect socket (ensure-hostname remote-host)
                 :port remote-port))))
  
  (declaim (inline %%make-internet-datagram-socket))
  (defun %%make-internet-datagram-socket (family ef broadcast interface reuse-address
                                          local-host local-port remote-host remote-port)
    (with-close-on-error (socket (%create-internet-socket family :datagram :active ef))
      (%%init-internet-datagram-socket socket broadcast interface reuse-address
                                       local-host local-port remote-host remote-port)))
  
  (defun %make-internet-datagram-socket (args family ef)
    (destructuring-bind (&key broadcast interface (reuse-address t)
                              local-host (local-port 0)
                              (remote-host +any-host+) (remote-port 0))
        args
      (%%make-internet-datagram-socket family ef broadcast interface reuse-address
                                       local-host local-port remote-host remote-port)))
  
  (define-compiler-macro %make-internet-datagram-socket (&whole form args family ef)
    (with-guard-against-non-list-args-and-destructuring-bind-errors
        form args
      (destructuring-bind (&key broadcast interface (reuse-address t)
                                local-host (local-port 0)
                                (remote-host '+any-host+) (remote-port 0))
          (cdr args)
        `(%%make-internet-datagram-socket ,family ,ef ,broadcast ,interface ,reuse-address
                                          ,local-host ,local-port ,remote-host ,remote-port))))
  
  ;;; Local Datagram Socket creation
  
  (defun %%init-local-datagram-socket (socket local-filename remote-filename)
    (setf (socket-option socket :no-sigpipe :if-does-not-exist nil) t)
    (when local-filename
      (bind-address socket (ensure-address local-filename :family :local)))
    (when remote-filename
      (connect socket (ensure-address remote-filename :family :local))))
  
  (declaim (inline %%make-local-datagram-socket))
  (defun %%make-local-datagram-socket (family ef local-filename remote-filename)
    (declare (ignore family))
    (with-close-on-error (socket (create-socket :local :datagram :active ef))
      (%%init-local-datagram-socket socket local-filename remote-filename)))
  
  (defun %make-local-datagram-socket (args family ef)
    (destructuring-bind (&key local-filename remote-filename)
        args
      (%%make-local-datagram-socket family ef local-filename remote-filename)))
  
  (define-compiler-macro %make-local-datagram-socket (&whole form args family ef)
    (with-guard-against-non-list-args-and-destructuring-bind-errors
        form args
      (destructuring-bind (&key local-filename remote-filename)
          (cdr args)
        `(%%make-local-datagram-socket ,family ,ef ,local-filename ,remote-filename))))
  
  ;;; MAKE-SOCKET
  
negative.code:                   :reuse-address reuse-address)
      (listen-on socket :backlog backlog)))
  
  (define-socket-creator (:local :stream :passive)
      (family ef &key local-filename (reuse-address t)
              (backlog *default-backlog-size*))
    (declare (ignore family))
    (with-close-on-error (socket (create-socket :local :stream :passive ef))
      (%%init-local-stream-passive-socket socket local-filename reuse-address backlog)))
  
  ;;; Internet Datagram Socket creation
  
  (defun %%init-internet-datagram-active-socket (socket broadcast interface reuse-address
                                                 local-host local-port remote-host remote-port)
    (setf (socket-option socket :no-sigpipe :if-does-not-exist nil) t)
    (let ((local-port  (ensure-numerical-service local-port))
          (remote-port (ensure-numerical-service remote-port)))
  