I believe we can make `traverse` lazy by using thunk or `Eval` in `Applicative.map2` (please correct me if I am wrong) ``` scala def validate(i: Int): Option[Int] = if(i < 5) Some(i) else None List(1,2,6,8).traverse(validate) // should not evaluate validate(8) ```