Scalaz определяет последовательность .
Вот пример:
scala> import scalaz._
import scalaz._
scala> import Scalaz._
import Scalaz._
scala> List(Some(1), None, Some(2)).sequence
res0: Option[List[Int]] = None
scala> List(some(1), some(2), some(3)).sequence
res1: Option[List[Int]] = Some(List(1, 2, 3))
Обратите внимание, что во втором примере вы должны использовать некоторую функцию Scalaz для создания Some.- иначе, список создается как List [Some [Int]], что приводит к этой ошибке:
scala> List(Some(1), Some(2), Some(3)).sequence
<console>:14: error: could not find implicit value for parameter n: scalaz.Applicative[N]
List(Some(1), Some(2), Some(3)).sequence
Функции Scalaz some (a) и none создают значения Some и None типа Option [A].