   (is (match? (m/in-any-order [odd? odd? even?])
               [1 2 3])))
 
+;;;; ___________________________________________________________________________
+;;;; ---- Sets ----
+
 (deftest sets-test
   ;; A set is interpreted as an `equals` matcher.
   ;; NOTE: matching sets is an O(n!) operation because it compares every

              1234)) ; TODO: I guess we need this in contexts where `even?` would not be treated as a pred -- but what are those contexts?
  )

(deftest exception-matching-test
  (is (thrown-match? clojure.lang.ExceptionInfo
                     {:foo 1}
                     (throw (ex-info "Boom!" {:foo 1 :bar 2})))))

;;;; TODO: There's more. Continue going through the documentation at
;;;;       https://github.com/nubank/matcher-combinators and adding
;;;;       examples here.

   [matcher-combinators.test] ; adds support for `match?` and `thrown-match?` in `is` expressions
   ))

;;;; ___________________________________________________________________________
;;;; --- Notes ----

;;;; TODO: What is an `equals` matcher?
;;;; TODO: What is an `embeds` matcher?

;;;; ++use-of-mismatch++
;;;; We use `m/mismatch` to demo what would otherwise be failing tests.
;;;; Note that `m/mismatch` should generally be avoided.

;;;; ___________________________________________________________________________
;;;; ---- Scalars ----

(deftest most-scalars-use-equality-test
  ;; Most scalar values are interpreted as an `equals` matcher.
