               (let [new-context
                     (trace/with-trace
                       {:op-type   :event/handler
-                       :operation (get-in context [:coeffects :event])}
-                      (let [{:keys [db event]} (:coeffects context)]
+                       :operation (get-coeffect context :event)}
+                      (let [{:keys [db event]} (get-coeffect 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)}})
+                  {:tags {:effects   (get-effect new-context)
+                          :coeffects (get-coeffect context)}})
                 new-context))))
 
 

    :id :after
    :after (fn after-after
             [context]
             (let [db    (if (contains? (:effects context) :db)
                           (get-in context [:effects :db])
                           (get-in context [:coeffects :db]))
                   event (get-in context [:coeffects :event])]
               (f db event) ;; call f for side effects
               context)))) ;; context is unchanged


    :before  (fn trimv-before
               [context]
               (-> context
                   (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-coeffect :event (get-coeffect context ::untrimmed-event))))))


;; -- Interceptor Factories - PART 1 ---------------------------------------------------------------
