 (ns cats.core
   "Category Theory abstractions for Clojure"
   #?(:cljs
-     (:require-macros [cats.core :refer (with-monad mlet)]))
+     (:require-macros [cats.core :refer (with-monad with-context mlet)]))
   (:require [cats.protocols :as p])
   (:refer-clojure :exclude [when unless filter sequence]))
 

        :else
        (binding [*context* ~ctx]
          ~@body))))

(defn ^{:no-doc true}
  get-current-context

  *context* nil)

#?(:clj
   (defmacro with-context
     "Set current context to specific monad."
     [ctx & body]
     `(cond
