an Equivalence type class for A
Indicates whether the objects passed as a and b are equal by returning the
result of invoking areEqual(a, cnv(b)) on the passed equalityOfA object.
Indicates whether the objects passed as a and b are equal by returning the
result of invoking areEqual(a, cnv(b)) on the passed equalityOfA object.
In other words, the b object of type B is first converted to an A via the passed conversion
function, cnv, then compared for equality with the a 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[A]and a conversion function fromBtoA.