Core concept
import cats.implicits._
List(1, 2, 3).traverse(n => Option(n * 2)) // Some(List(2, 4, 6))Advertisement
How it works
Requires Applicative for G. Fails fast (first None short-circuits).
Advertisement
Trade-offs + gotchas
Validate + collect list results in one pass.