create Scalaz equal instance on class with subtypes
问题 I have the following simple ADT, how would I implement an instance of the equality typeclass without resorting to explicitly pattern matching all possible combinations? import scalaz._ import Scalaz._ sealed trait Billinginfo case class CreditCard(number: Int, holder: String, Address: String) extends Billinginfo case object COD extends Billinginfo case class Invoice(cId: String) extends Billinginfo object Billinginfo{ implicit val BillingEqual = Equal.equal[Billinginfo]{(b1,b2) => (b1,b2)