anchor.diff:    "Close the socket, emit \"close\" event."
     (ev:stop-watcher (owner socket) (svref (watchers socket) 0))
     (ev:stop-watcher (owner socket) (svref (watchers socket) 1))
  +  (when (svref (watchers socket) 2)
  +    (ev:stop-watcher (owner socket) (svref (watchers socket) 2)))
     (emit socket "close" socket))
   
   ;; Event methods
  +(defmethod on-read :after ((socket socket))
  +  "Signal timeout activity"
  +  (timeout-activity socket))
  +
  +(defmethod on-write :after ((socket socket))
  +  "Signal timeout activity"
  +  (timeout-activity socket))
  +
  +(defmethod send :after ((socket socket) _ &optional __)
  +  "Signal timeout activity"
  +  (declare (ignore _ __))
  +  (timeout-activity socket))
  +
   (defmethod on-read ((socket socket))
     (if (sockets:socket-open-p (sock socket))
         (when (sockets:socket-connected-p (sock socket))
  
positive.code: completes."))
  
  ;; Interface methods
  (defmethod connect ((socket socket) (port number) &optional (host #(127 0 0 1)))
    (async (:hinge (owner socket)
            :success (curry #'emit socket "connect")
  
negative.code:   ((sock :initform (sockets:make-socket :ipv6 nil :reuse-address t)
           :initarg :sock
           :accessor sock)
     (watchers :initform (vector nil nil nil)
               :accessor watchers
               :documentation "#(read write timeout) watchers.")
     (writes :initform (list)
             :accessor writes
             :documentation "List of 3-vectors in the format
  