an Equivalence type class for B
Indicates whether the objects passed as a and b are equal by return the
result of invoking areEqual(cnv(a), b) on the passed equalityOfB object.
Indicates whether the objects passed as a and b are equal by return the
result of invoking areEqual(cnv(a), b) on the passed equalityOfB object.
In other words, the a object of type A is first converted to a B via the passed conversion
function, cnv, then compared for equality with the b object.
a left-hand-side object being compared with another (right-hand-side one) for equality (e.g., a == b)
a right-hand-side object being compared with another (left-hand-side one) for equality (e.g., a == b)
An implementation of
Constraintfor two typesAandBthat requires anEquality[B]and a conversion function fromAtoB.