         ;; another new term type; keep requesting until
         ;;  we know them all
         (swap! cli update :term-types conj (:opt pkt))
-        (send! cli {:telnet :term-type :opt [:send]}))
+        (telnet! cli {:telnet :term-type :opt [:send]}))
       ;; we've got 'em all (TODO preprocess for color?)
       (log "* Client term types: " (:term-types @cli)))
     ;; else, let the provided callback handle

    ;; the client can send term type! request it
    (= {:telnet :will 
        :opt :term-type} pkt)
    (send! cli {:telnet :term-type
                :opt [:send]})
    ;; the client is sending their term type
    (= :term-type (:telnet pkt))


(def ^:dynamic *svr*)

(declare telnet!)

(defn- make-client
  [stream]
  {:stream stream
