The Either type is provided by the Scala standard library, but Cats provides syntax enrichment and typeclass instances to extend its functionality, including Functor, Applicative, Monad and MonadError.

If you would like to accumulate errors instead of the short-circuiting behavior of Either, see the Parallel typeclass, or the Validated data type.