anchor.diff:  (declaim (inline %make-internet-datagram-socket))
   (defun %make-internet-datagram-socket (args ef)
     (let (socket address)
  -    (destructuring-bind (&key local-host local-port remote-host remote-port
  +    (destructuring-bind (&key local-host (local-port 0)
  +                              remote-host (remote-port 0)
                                 reuse-address broadcast family)
           args
  -      (assert (xnor local-host local-port))
  -      (assert (xnor remote-host remote-port))
         (%close-on-error (socket)
           (setf socket (create-socket :family family :type :datagram
                                       :connect :active :external-format ef))
  
positive.code: 
  (in-package :net.sockets)
  
  (defun xnor (x1 x2)
    (eq (not x1) (not x2)))
  
  ;;; FIXME: protocol is sort of misinterpreted.
  ;;;
  ;;; CREATE-SOCKET is a a bit of a confusing name as it is too similar
  
negative.code:            (when nodelay (set-socket-option socket :tcp-nodelay :value t))
             (when local-host
               (setf address (convert-or-lookup-inet-address local-host))
               (bind-address socket address :port local-port
                             :reuse-address reuse-address))
             (when remote-host
               (setf address (convert-or-lookup-inet-address remote-host))
  