         app2 (fn [req] (sieppari.core/execute queue req))]
 
     ;; 5500ns
+    ;; 4000ns (identity)
     (title "sieppari - map")
     (expected! (app map-request))
     (cc/quick-bench
       (app map-request))
 
     ;; 4600ns
+    ;; 3800ns (identity)
     (title "sieppari - record")
     (expected! (app record-request))
     (cc/quick-bench
       (app record-request))
 
     ;; 2200ns
+    ;; 1300ns (identity)
     (title "sieppari - map (compiled queue)")
     (expected! (app2 map-request))
     (cc/quick-bench
       (app2 map-request))
 
     ;; 1600ns
+    ;; 1300ns (identity)
     (title "sieppari - record (compiled queue)")
     (expected! (app2 record-request))
     (cc/quick-bench

(def +items+ 10)

(defn expected! [x]
  (assert (= (range +items+) (:values x))))

(defn middleware [handler value]
  (fn [request]
    (let [values (or (:values request) [])]
      (handler (assoc request :values (conj values value))))))

(def map-request {})
(def record-request (map->RequestOrContext map-request))

  (let [interceptors (conj
                       (mapv
                         (fn [value]
                           {:enter identity})
                         (range +items+))
                       identity)
        queue (sieppari.queue/into-queue interceptors)
