title: Scalaz validation: convert sequence of validations to a single validation
body: <p>I am using scalaz validation, and have some code to validate products. </p>
  
  <pre><code>def validateProduct(product: Option[Product]): ValidationNel[String, Product] = ???
  </code></pre>
  
  <p>Given a list of products, I want to get a single validation containing the whole list as a successful value or a list of validation errors. It seems like some kind of fold should do it, but I am not sure what the combination function should be.</p>
  
  <pre><code> def validateProducts(products: Seq[Option[Product]]): ValidationNel[String, Seq[Product]] = {
      val listOfValidations: Seq[ValidationNel[String, Product]] = products.map(validateProduct _)
      val validatedList:ValidationNel[Seq[String], Seq[Product]] = ??? // what to do here?
      ???
    }
  </code></pre>
  
  <p>Any help is appreciated</p>