    reads have been replaced by the full query for each component that cares about
    the specified read."
   [r tx]
-  (letfn [(with-target [target q]
-            (if-not (nil? target)
-              [(force (first q) target)]
-              q))
-          (add-focused-query [k target tx c]
-            (let [transformed (->> (focus-query (get-query c) [k])
-                                (with-target target)
-                                (full-query c))]
-              (into tx (remove (set tx)) transformed)))]
-    (loop [exprs (seq tx) tx' []]
-      (if-not (nil? exprs)
-        (let [expr (first exprs)
-              ast  (parser/expr->ast expr)
-              key  (:key ast)
-              tgt  (:target ast)]
-          (if (keyword? key)
-            (let [cs (ref->components r key)]
-              (recur (next exprs)
-                (reduce #(add-focused-query key tgt %1 %2)
-                  (cond-> tx'
-                    (empty? cs) (conj expr)) cs)))
-            (recur (next exprs) (conj tx' expr))))
-        tx'))))
+  (if (-> r :config :easy-reads)
+    (letfn [(with-target [target q]
+              (if-not (nil? target)
+                [(force (first q) target)]
+                q))
+            (add-focused-query [k target tx c]
+              (let [transformed (->> (focus-query (get-query c) [k])
+                                  (with-target target)
+                                  (full-query c))]
+                (into tx (remove (set tx)) transformed)))]
+      (loop [exprs (seq tx) tx' []]
+        (if-not (nil? exprs)
+          (let [expr (first exprs)
+                ast  (parser/expr->ast expr)
+                key  (:key ast)
+                tgt  (:target ast)]
+            (if (keyword? key)
+              (let [cs (ref->components r key)]
+                (recur (next exprs)
+                  (reduce #(add-focused-query key tgt %1 %2)
+                    (cond-> tx'
+                      (empty? cs) (conj expr)) cs)))
+              (recur (next exprs) (conj tx' expr))))
+          tx')))
+    tx))
 
 (defn set-query!
   "Change the query of a component. Takes a map containing :params and/or

         ;; root-render  #(js/ReactDOM.render %1 %2)
         ;; root-unmount #(js/ReactDOM.unmountComponentAtNode %)
         pathopt      false
         migrate      default-migrate}
    :as config}]
  {:pre [(map? config)]}
  (let [idxr   (indexer)

                  :pathopt pathopt
                  :migrate migrate
                  :id-key id-key
                  :instrument instrument
                  :easy-reads easy-reads}
                 (atom {:queue [] :queued false :queued-sends {}
                        :sends-queued false
                        :target nil :root nil :render nil :remove nil
