anchor.diff:  (defclass socket (trivial-gray-stream-mixin
                     fundamental-binary-output-stream
                     fundamental-character-output-stream)
  -  ((driver :initarg :driver :reader socket-driver)
  +  ((driver :initarg :driver :accessor socket-driver)
      (server :initform nil :accessor socket-server)
      (internal-socket :accessor socket-internal-socket)
      (read-buffer :reader socket-read-buffer)
  
positive.code:    (bytes-written ((socket a))
      :accessorp t)
     (external-format-in ((socket a))
      :documentation "External format to use when converting incoming octets into characters. If NIL,
                      no encoding will be done on incoming data, and ON-SOCKET-DATA will receive the
                      raw (unsigned-byte 8) data.")
     (external-format-out ((socket a))
      :documentation "External format to use for outgoing octets and strings. If NIL, an error is
                      signaled if an attempt is made to write a string to the socket.")
     (close-after-drain-p ((socket a))
  
negative.code: ;; Base socket protocol
  (defprotocol socket (a)
    ((driver ((socket a))
      :accessorp t
      :documentation "Driver object used to dispatch SOCKET's events.")
     (server ((socket a))
      :accessorp t
  