On the exercise of Foldable traverse, it accepts a wrong answer as proper:
import cats.implicits._
def parseInt(s: String): Option[Int] =
Either.catchOnly[NumberFormatException](s.toInt).toOption
Foldable[List].traverse_(List("1", "2", "3"))(parseInt) should be(Some(42))
Since traverse_ returns G[Unit], correct answer should be Some(()). But it is accepting Some of anything. Maybe it is even a bug on scalatest since on a workspace:
Foldable[List].traverse_(List("1", "2"))(parseInt) == Some(())
Foldable[List].traverse_(List("1", "2"))(parseInt) == Some(42)
Outputs:
