(defn has-extern?
([pre]
(has-extern? pre (get @env/*compiler* ::externs)))
([pre externs]
(or (has-extern?* pre externs)
(when (= 1 (count pre))
(let [x (first pre)]
(or (get-in externs (conj '[Window prototype] x))
(get-in externs (conj '[Number] x)))))
(-> (last pre) str (string/starts-with? "cljs$")))))