Validated(Applicative)のsequence
ListのEitherのsequenceは最初のエラーだけしかかえってこない。
ListのValidatedのsequenceはすべてのエラーがかえってくる。
val eithers: List[Either[String, Int]] = List(Right(1), Left("error1"), Right(2), Left("error2"), Right(3)) val validateds: List[ValidatedNel[String, Int]] = eithers.map(_.toValidatedNel) println(eithers.sequence) // Left(error1) println(validateds.sequence) // Invalid(NonEmptyList(error1, error2))