scalaz シーケンスを使用して List[Future[Int]] を Future[List[Int]] に変換するこのコードがあります。
import scalaz.concurrent.Future
val t = List(Future.now(1), Future.now(2), Future.now(3)) //List[Future[Int]]
val r = t.sequence //Future[List[Int]]
私は scalaz の Future を使用しているため、魔法のように暗黙の解決が行われる可能性があります。型クラスが Future のような事前定義されたクラスではなく、カスタム クラスであるかどうかは疑問ですが、同じ結果を得るために暗黙の解決を定義するにはどうすればよいですか?
case class Foo(x: Int)
val t = List(Foo(1), Foo(2), Foo(3)) //List[Foo[Int]]
val r = t.sequence //Foo[List[Int]]
よろしくお願いします