             t-and-c   (make-tailer-and-channel file delay-ms)
             result-ch (a/thread (doall (tailer-and-channel->seq t-and-c)))]
         (spit-lines-s file lines-s sleep-ms)
-        (stop-tailer-and-channel t-and-c)
+        (stop-tailer-and-channel! t-and-c)
         (a/<!! result-ch)
         => ["I met" "her" "in a" "pool room" "her name" "I didn't" "catch"
             "she" "looked" "like" "something special"]))

(defn channel [t-and-c]
  (::channel t-and-c))

(defn stop-tailer-and-channel [{:keys [::channel ::tailer]}]
  (.stop tailer)
  (a/close! channel))

(defn spit-lines-s [f lines-s sleep-ms]
  (Thread/sleep sleep-ms)

  (:import (java.io File)
           (org.apache.commons.io.input TailerListener
                                        Tailer)))

;; Internals

(defn tailer-listener [c]
  (reify TailerListener
