                   (reset! new-line true))
                 (write
                   ([obj]
-                    (let [s (condp instance? obj
-                             java.lang.String obj
-                             java.lang.Integer (str (char obj))
-                             (str obj))
+                    (let [#^java.lang.String s (condp instance? obj
+                                                 java.lang.String obj
+                                                 java.lang.Integer (str (char obj))
+                                                 (str obj))
                           term-height (.getHeight term)]
                       (binding [*out* stdout]
                         (when @new-line

        err-fn (opts :print-err)
        prompt-string (opts :prompt-string)
        in-rdr (doto (ConsoleReader. nil *jline-input-stream* *jline-output-stream* nil)
                 (.addCompleter (StringsCompleter. (remove #(.startsWith % "_") (map name (keys cmds)))))
                 (.setPrompt prompt-string))
        file-history (if (opts :persist-history)
                       (let [history-file-name (if (contains? opts :history-file-name)

    (and
      (instance? Exception arg)
      ((:print-exception-trace opts))) (strace/print-cause-trace arg)
    (instance? Exception arg) (utils/println-err (.getMessage #^Exception arg))
    :default (utils/println-err (str arg))))

(def cli-default-options
