 ; we want to wrap stringified obj in a reference for further inspection
 (defn detect-else-case-and-patch-it [group obj]
   (if (and (= (count group) 3) (= (aget group 0) "#<") (= (str obj) (aget group 1)) (= (aget group 2) ">"))
-    (let [label (aget group 1)]
-      (aset group 1 (reference (surrogate obj label true (reference obj "inspect js object"))))))) ; TODO change to direct reference after devtools guys fix the bug
+    (aset group 1 (reference obj))))
 
 (defn alt-printer-impl [obj writer opts]
   (if-let [tmpl (atomic-template obj)]


(defn standard-body-template
  ([lines margin?] (let [ol-style (if margin? standard-ol-style standard-ol-no-margin-style)
        li-style (if margin? standard-li-style standard-li-no-margin-style)]
    (template ol ol-style (map #(template li li-style %) lines))))
  ([lines] (standard-body-template lines true)))

(defn body-line-template [index value]

    (number? value) (number-template value)
    (keyword? value) (template span keyword-style (str value))
    (symbol? value) (template span symbol-style (str value))
    (fn? value) (template span fn-style (reference value))))

(defn abbreviated? [template]
  (some #(= more-marker %) template))
