ZLawful
ZLawful[Caps, R]
describes a capability that is expected to satisfy a set
of laws. Lawful instances can be combined using +
to describe a set of
capabilities and all of the laws that those capabilities are expected to
satisfy.
trait Equal[-A] {
def equal(a1: A, a2: A): Boolean
}
object Equal extends Lawful[Equal] {
val laws = ???
}