trait :+:[H, T <: Coproduct] extends Coproduct case class Inl[H, T <: Coproduct](head: H) extends :+:[H, T] case class Inr[H, T <: Coproduct](tail: T) extends :+:[H, T] 27
Equal のインスタンスが導出できる。 また、全く関係ない型でも Converter を⽤意できれば Equal のインスタンスが得られるよ うになる。 sealed class MyOption[A] case class MyNone[A]() extends MyOption[A] case class MySome[A](a: A) extends MyOption[A] // ...MyOption へのConverter の実装... implicitly[Equal[MyOption[Int]]].equal(MySome(1), MySome(2)) とてもすごい。 42