   (cond
     (object? node) (= (.-type node) "paragraph")
     (map? node) (= "paragraph" (:type node))
+    (nil? node) false
     :else (throw (ex-info "unexpected type" {:node node}))))
 
 (defn- ^boolean is-root-node?

  (cond
    (object? node) (.isText Text node)
    (map? node) (string? (:text node))
    :else (throw (ex-info "unexpected type" {:node node}))))

(defn- ^boolean is-paragraph-node?

  (cond
    (object? node) (= (.-type node) "root")
    (map? node) (= "root" (:type node))
    (nil? node) false
    :else (throw (ex-info "unexpected type" {:node node}))))

(defn- editor-current-values
