anchor.diff:  (defmethod stream-write-string ((client tcp-client) string &optional start end)
     (stream-write-sequence client string start end))
   (defmethod close ((client tcp-client) &key abort)
  +  (iolib:remove-fd-handlers (server-event-base (client-server client))
  +                            (iolib:socket-os-fd (client-socket client)) :read t :write t :error t)
     (close (client-socket client) :abort abort)
  -  (remhash client (server-connections (client-server client))))
  +  (remhash client (server-connections (client-server client)))
  +  (on-client-close (server-driver (client-server client)) client))
   
   ;; TCP server test
   (defclass echo () ())
   (defmethod on-connect ((driver echo) client)
  -  (format t "~&Client connected.")
  +  (format t "~&Client connected. Host: ~A, Port: ~A~%" (client-remote-name client) (client-remote-port client))
     (format client "~&Welcome. Everything you say will be echoed back to you now.~%"))
   (defmethod on-data ((driver echo) client data)
     (format t "~&Data length: ~S~%" (length data))
     (write-sequence data client))
  -(defmethod on-disconnect ((driver echo) client)
  +(defmethod on-client-close ((driver echo) client)
     (format t "~&Client disconnected: ~S~%" client))
   #+nil(start-listener (make-tcp-server (make-instance 'echo)) :host "127.0.0.1" :port 1337)
  
positive.code:   `(defgeneric ,name ,lambda-list ,@options
                 (:method ,lambda-list (declare (ignore ,@lambda-list)) nil)))
  (defevent on-listen (driver))
  (defevent on-close (driver))
  (defevent on-error (driver error))
  (defevent on-connect (driver client))
  (defevent on-disconnect (driver client))
  (defevent on-data (driver client data))
  (defevent on-timeout (driver client))
  (defevent on-client-error (driver client error))
  (defevent on-drain (driver client))
  
  (defun make-queue () (cons nil nil))
  
negative.code:     (close server)))
  
  (defmethod close ((server tcp-server) &key abort)
    (maphash-values (rcurry #'close :abort abort) (server-connections server))
    (close (server-event-base server))
    (on-close (server-driver server)))
  
  (defun start-reads (server client &aux (driver (server-driver server)))
    (iolib:set-io-handler (server-event-base server) (iolib:socket-os-fd (client-socket client))
  