Contract Marker: Abelian
Description: The Abelian "contract" requires a class to
follow the related Std Java contracts for "equal()",
"hashCode()", and "toString()" that ALL Java objects are
supposed to follow but usually don't! These are detailed
in Chapter 3 of "Effective Java" by Joshua Bloch.
Marker Interface: Contract
Contracts are interface-like constraints on a class that must
be implemented by programming conventions since the Java language
provides no mechanism to declare these constraints.