     (run-bench (fibo-volatile n))
     (run-bench (fibo-with-type n))
     (run-bench (fibo-with-java n))
+    (run-bench (fibo-recur-java-bigint n))
     #_(perf/quick-bench (fibo-lazy-cat n))
     ))

      curr)))

(defn fibo-trampoline
  [n]
  (letfn [(fibs [curr next n]
            (if-not (zero? n)
              #(fibs next (+ curr next) (dec n))
              curr))]

      (let [nnext (+ @curr @next)]
        (var-set curr @next)
        (var-set next nnext)
        (var-set iter (dec @iter))))
    @curr))

(defn fibo-volatile
  [^long n]
  (let [curr (volatile! 0N)
        next (volatile! 1N)
        iter (volatile! n)]
