anchor.diff:  (defmethod stream-element-type ((stream tcp-octet-stream))
     '(unsigned-byte 8))
   
  -(defun tcp-stream-connect (address port &key element-type external-format)
  +(defun tcp-stream-connect (address port &key element-type external-format persist timeout)
     (cond ((or (not element-type)
                (sys.int::type-equal element-type 'character))
            (make-instance 'tcp-stream
  -                        :connection (tcp-connect (sys.net::resolve-address address) port)
  +                        :connection (tcp-connect (sys.net::resolve-address address) port
  +                                                 :persist persist
  +                                                 :timeout timeout)
                           :external-format (sys.int::make-external-format
                                             (or element-type 'character)
                                             (or external-format :default)
  
positive.code:   (setf end (or end (length data)))
    (with-tcp-connection-locked connection
      (check-connection-error connection)
      ;; FIXME: It should be an error to send after close.
      (when (or (eql (tcp-connection-state connection) :established)
                (eql (tcp-connection-state connection) :close-wait))
  
negative.code:                     (logtest flags +tcp4-flag-ack+))
             ;; Remote has sent ACK, connection closed
             (detach-tcp-connection connection)))))
      (update-timeout-timer connection)
      ;; Notify any waiters that something may have changed.
      (mezzano.supervisor:condition-notify (tcp-connection-cvar connection) t)))
  
  