 
 (defn print-discovered-devices [name-endpoint-map opts]
   (if (empty? name-endpoint-map)
-    ((:print opts) "(No devices)")
+    ((println-fn opts) "(No devices)")
     (doseq [[choice-number [bonjour-name _]] (name-endpoint-map->choice-list name-endpoint-map)]
-      ((:print opts) (str "[" choice-number "] " (bonjour-name->display-name bonjour-name))))))
+      ((println-fn opts) (str "[" choice-number "] " (bonjour-name->display-name bonjour-name))))))
 
 (defn discover-and-choose-device
   "Looks for Ambly WebDAV devices advertised via Bonjour and presents

          output-dir (io/file webdav-mount-point)
          env (ana/empty-env)
          core (io/resource "cljs/core.cljs")]
      ((:print opts) "\nConnecting to" (bonjour-name->display-name bonjour-name) "...\n")
      (reset! (:webdav-mount-point repl-env) webdav-mount-point)
      (when (.exists output-dir)
        (shell/sh "umount" webdav-mount-point))

                   (deliver resp-promise :eof))
                 :eof)
      (= c 1) (do
                ((print-fn opts) (str sb))
                ((flush-fn opts))
                (recur (StringBuilder.) (.read in)))
      (= c 0) (do
                (deliver @response-promise (str sb))
