   [e]
   {:pre [(either? e)]}
   (if (left? e)
-    (right (proto/extract e))
-    (left (proto/extract e))))
+    (right (p/extract e))
+    (left (p/extract e))))

  "Return true in case of `v` is instance
  of Either monad."
  [v]
  (if (satisfies? proto/Context v)
    (identical? (proto/get-context v) either-monad)
    false))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      (either/left 1)
      ;; => #<Left [1]>
  "
  (:require [cats.protocols :as p]))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Type constructor and functions
