     :before  (fn trimv-before
                [context]
                (-> context
-                   (update-in [:coeffects :event] subvec 1)
-                   (assoc-in [:coeffects ::untrimmed-event] (get-coeffect context :event))))
+                   (update-coeffect :event subvec 1)
+                   (assoc-coeffect ::untrimmed-event (get-coeffect context :event))))
     :after   (fn trimv-after
                [context]
                (-> context
                    (utils/dissoc-in [:coeffects ::untrimmed-event])
-                   (assoc-in [:coeffects :event] (get-coeffect context ::untrimmed-event))))))
+                   (assoc-coeffect :event (get-coeffect context ::untrimmed-event))))))
 
 
 ;; -- Interceptor Factories - PART 1 ---------------------------------------------------------------

              (let [new-context
                    (trace/with-trace
                      {:op-type   :event/handler
                       :operation (get-in context [:coeffects :event])}
                      (let [{:keys [db event]} (:coeffects context)]
                        (->> (handler-fn db event)
                             (assoc-effect context :db))))]
                ;; We merge these tags outside of the :event/handler trace because we want them to be assigned to the parent
                ;; wrapping trace.
                (trace/merge-trace!
                  {:tags {:effects   (:effects new-context)
                          :coeffects (:coeffects context)}})
                new-context))))



    :after (fn enrich-after
             [context]
             (let [event (get-coeffect context :event)
                   db    (if (contains? (get-effect context) :db)
                           (get-effect context :db) ;; If no db effect is returned, we provide the original coeffect.
                           (get-coeffect context :db))]
               (->> (f db event)
