   [src]
   (if-not (identical? *target* "nodejs")
     (.renderToStaticMarkup js/ReactDOMServer src)
-    (let [react-dom-server (js/require "react-dom/server")]
+    (let [^js/ReactDOMServer react-dom-server (js/require "react-dom/server")]
       (.renderToStaticMarkup react-dom-server src))))
 
 ;; JS components adapter

  ([element opts]
   (if-not (identical? *target* "nodejs")
     (.renderToString js/ReactDOMServer element)
     (let [react-dom-server (js/require "react-dom/server")]
       (.renderToString react-dom-server element)))))

(defn render-static-markup


(defn state
  "Given React component, returns Rum state associated with it."
  [^js/React.Component comp]
  (gobj/get (.-state comp) ":rum/state"))

(defn- extend! [obj props]
