                   [:a :b]))
            {:a 1 :b 2}))
     (is (= (comparable-trace @trace)
-           [{:com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/parse-loop
-             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/enter
-             :com.wsscode.pathom.core/path       []}
-            {:key :a :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key :com.wsscode.pathom.core/path []}
-            {:key :a :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/call-read :com.wsscode.pathom.core/path []}
-            {:com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/provided-return
-             :com.wsscode.pathom.parser/provides #{:b :a}
-             :com.wsscode.pathom.core/path       []}
-            {:key :b :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key :com.wsscode.pathom.core/path []}
-            {:key :b :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/skip-wait-key :com.wsscode.pathom.core/path []}
-            {:com.wsscode.pathom.trace/event           :com.wsscode.pathom.parser/process-pending
-             :com.wsscode.pathom.parser/provides       #{:b :a}
-             :com.wsscode.pathom.parser/merge-result?  false
-             :com.wsscode.pathom.core/path             []
-             :com.wsscode.pathom.parser/response-value {:a 1 :b 2}}
-            {:key :b :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key :com.wsscode.pathom.core/path []}
-            {:key :b :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/call-read :com.wsscode.pathom.core/path []}
-            {:key :b :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/value-return :com.wsscode.pathom.core/path []}
-            {:key :a :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key :com.wsscode.pathom.core/path []}
-            {:key :a :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/call-read :com.wsscode.pathom.core/path []}
-            {:key :a :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/value-return :com.wsscode.pathom.core/path []}
-            {:com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/parse-loop
-             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/leave
-             :com.wsscode.pathom.core/path       []}])))
+           [{:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/enter
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/parse-loop}
+            {:com.wsscode.pathom.core/path   []
+             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key
+             :key                            :a}
+            {:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/enter
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/call-read
+             :key                                :a}
+            {:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/leave
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/call-read
+             :key                                :a}
+            {:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.parser/provides #{:a
+                                                   :b}
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/provided-return}
+            {:com.wsscode.pathom.core/path   []
+             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key
+             :key                            :b}
+            {:com.wsscode.pathom.core/path   []
+             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/skip-wait-key
+             :key                            :b}
+            {:com.wsscode.pathom.core/path             []
+             :com.wsscode.pathom.parser/merge-result?  false
+             :com.wsscode.pathom.parser/provides       #{:a
+                                                         :b}
+             :com.wsscode.pathom.parser/response-value {:a 1
+                                                        :b 2}
+             :com.wsscode.pathom.trace/event           :com.wsscode.pathom.parser/process-pending}
+            {:com.wsscode.pathom.core/path        []
+             :com.wsscode.pathom.parser/loop-keys [:b
+                                                   :a]
+             :com.wsscode.pathom.trace/event      :com.wsscode.pathom.parser/reset-loop}
+            {:com.wsscode.pathom.core/path   []
+             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key
+             :key                            :b}
+            {:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/enter
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/call-read
+             :key                                :b}
+            {:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/leave
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/call-read
+             :key                                :b}
+            {:com.wsscode.pathom.core/path   []
+             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/value-return
+             :key                            :b}
+            {:com.wsscode.pathom.core/path   []
+             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key
+             :key                            :a}
+            {:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/enter
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/call-read
+             :key                                :a}
+            {:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/leave
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/call-read
+             :key                                :a}
+            {:com.wsscode.pathom.core/path   []
+             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/value-return
+             :key                            :a}
+            {:com.wsscode.pathom.core/path       []
+             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/leave
+             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/parse-loop}])))
 
   (testing "async return"
     (reset! trace [])

             :com.wsscode.pathom.parser/provides       #{:a}
             :com.wsscode.pathom.parser/response-value {}
             :com.wsscode.pathom.trace/event           :com.wsscode.pathom.parser/process-pending}
            {:com.wsscode.pathom.core/path   []
             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key
             :key                            :a}
            {:com.wsscode.pathom.core/path   []
             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/call-read
             :key                            :a}
            {:com.wsscode.pathom.core/path       []
             :com.wsscode.pathom.parser/provides #{:a}
             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/provided-return}

             :com.wsscode.pathom.parser/provides       #{:a}
             :com.wsscode.pathom.parser/response-value {}
             :com.wsscode.pathom.trace/event           :com.wsscode.pathom.parser/process-pending}
            {:com.wsscode.pathom.core/path        []
             :com.wsscode.pathom.parser/loop-keys [:a]
             :com.wsscode.pathom.trace/event      :com.wsscode.pathom.parser/reset-loop}
            {:com.wsscode.pathom.core/path   []
             :com.wsscode.pathom.trace/event :com.wsscode.pathom.parser/process-key
             :key                            :a}
            {:com.wsscode.pathom.core/path       []
             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/enter
             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/call-read
             :key                                :a}
            {:com.wsscode.pathom.core/path       []
             :com.wsscode.pathom.trace/direction :com.wsscode.pathom.trace/leave
             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/call-read
             :key                                :a}
            {:com.wsscode.pathom.core/path       []
             :com.wsscode.pathom.parser/provides #{:a}
             :com.wsscode.pathom.trace/event     :com.wsscode.pathom.parser/provided-return}
