   "Return the JavaScript keys for an object."
   [obj]
   (let [keys (array)]
-    (goog.object/forEach obj (fn [val key obj] (.push keys key)))
+    (gobject/forEach obj (fn [val key obj] (.push keys key)))
     keys))
 
 (defn js-delete

            (str ret
              (.substring munged-name last-match-end
                (- (. r -lastIndex) (. x -length)))
              (if (= x "$") "/" (goog.object/get DEMUNGE_MAP x)))
            (. r -lastIndex)))
        (str ret
          (.substring munged-name last-match-end (.-length munged-name)))))))

            (cond
              (nil? ctxt) nil
              (nil? xs) ctxt
              :else (recur (gobject/get ctxt (first xs)) (next xs))))]
    (if-not js/COMPILED
      (let [segs (-> ns str (.split "."))]
        (when (gobject/get (. goog/dependencies_ -nameToPath) (str ns))
          (condp identical? *target*
            "nodejs" (find-ns* js/global segs)
            "default" (find-ns* js/window segs)
