   [mvs]
   {:pre [(not-empty mvs)]}
   (let [ctx (get-current-context (first mvs))]
-    (with-monad ctx
+    (with-context ctx
       (reduce (fn [mvs mv]
                 (mlet [v mv
                        vs mvs]

(defn >=>
  "Left-to-right composition of monads."
  [mf mg x]
  (with-monad (get-current-context mf)
    (mlet [a (mf x)
           b (mg a)]
          (return b))))


  Example:

      (with-context either/either-monad
        (pure 1)
      ;; => #<Right [1]>
  "
