   [& body]
   `(fun-with-return-args-to-even?-and-identity (fn [] ~@body)))
 
-(fact "`unchunk` works"
+(fact "`sut/unchunk` works"
   (let [my-chunked-seq (range 10)]
 
     (fact "`my-chunked-seq` is indeed chunked"

  (fact "with an exception"
    (let [side-effect-place (atom [])]
      (fact "throws"
        (with-extras [:before (swap! side-effect-place conj 1)
                      :after  (swap! side-effect-place conj 3)] 
          (do (/ 0 0)
              (swap! side-effect-place conj 2)
              :a))

                        :k-2-2-3 "v-2-2-3"}}})

    (fact
      (sut/select-keys-recursively m [[:k-1]
                                      [:k-2 [:k-2-2
                                             [:k-2-2-1]
                                             [:k-2-2-3]]]])
      => {:k-1 "v-1"
          :k-2 {:k-2-2 {:k-2-2-1 "v-2-2-1"
                        :k-2-2-3 "v-2-2-3"}}})))

;;;; ___________________________________________________________________________
;;;; ---- sut/indexed ----

(fact "`sut/indexed` works"
  (sut/indexed [:a :b :c :d])
  => [[0 :a]
      [1 :b]
      [2 :c]
      [3 :d]])

;;;; ___________________________________________________________________________
;;;; ---- sut/position ----
;;;; ---- sut/positions ----

(fact "sut/`position` and sut/`positions` work"
  (fact "`sut/position` tests"
    (sut/position even? []) => nil
    (sut/position even? [12]) => 0
    (sut/position even? [11 13 14]) => 2
    (sut/position even? [11 13 14 14]) => 2)
  (fact "`sut/positions` tests"
    (sut/positions even? []) => []
    (sut/positions even? [12]) => [0]
    (sut/positions even? [11 13 14]) => [2]
    (sut/positions even? [11 13 14 14 15]) => [2 3]))

;;;; ___________________________________________________________________________
;;;; ---- sut/unchunk ----

(defn fun-with-return-args-to-even?-and-identity [fun]
  (let [clj-even?     even?
