       :function "first"
       :line 6
       :column 0}]
-    sm {:output-dir "samples/hello/out"})
+    sms {:output-dir "samples/hello/out"})
 
   (mapped-stacktrace-str
     [{:file "hello/core.js"
       :function "first"
       :line 6
       :column 0}]
-    sm {:output-dir "samples/hello/out"})
+    sms {:output-dir "samples/hello/out"})
   )
              (concat (rest (map call->function mapped-frames)) [{}])))))))

(defn mapped-stacktrace-str
  "Given a vector representing the canonicalized JavaScript stacktrace
   print the ClojureScript stacktrace. See mapped-stacktrace."
  ([stacktrace sm]
   (mapped-stacktrace-str stacktrace sm nil))
  ([stacktrace sm opts]
   (with-out-str
     (doseq [{:keys [function file line column]}
             (mapped-stacktrace stacktrace sm opts)]
       (println "\t"
         (str (when function (str function " "))
              "(" file (when line (str ":" line))

   identifier delimited by angle brackets. The returned mapped stacktrace will
   also contain :url entries to the original sources if it can be determined
   from the classpath."
  ([stacktrace sms]
   (mapped-stacktrace stacktrace sms nil))
  ([stacktrace sms opts]
   (letfn [(call->function [x]
             (if (:call x)
               (hash-map :function (:call x))
