         (.bar t 2)
         :verbose))))
 
+(deftest deftype-benchmark-1
+  (println "\nRunning: deftype-benchmark-1")
+  (let [t (MyType. 1)]
+    (cc/with-progress-reporting
+      (cc/quick-bench
+        (t 2)
+        :verbose))))
+

(defrecord MyRec
  [res]
  MyProt
  (foo [_] 0)
  (bar [_ arg] (+ res arg)))

(deftest defrecord-benchmark-0
  (println "\nRunning: defrecord-benchmark-0")

        (.bar r 2)
        :verbose))))

(deftest defrecord-benchmark-1
  (println "\nRunning: defrecord-benchmark-1")
  (let [r (MyRec. 1)]
    (cc/with-progress-reporting
      (cc/quick-bench
        (r 2)
        :verbose))))

(deftype MyType
  [res]
  MyProt
    (foo [_] 0)
    (bar [_ arg] (+ res arg))
  IFn
    (invoke [this arg] (.bar this arg)))

(deftest deftype-benchmark-0
  (println "\nRunning: deftype-benchmark-0")
