What a Concept Does Not Say
A concept named Ring is satisfied by any type with +, *, and the two identities. It is not
satisfied only by rings. The distinction is not pedantry: the algorithms constrained by such a
concept are correct on the rings and undefined on everything else in its model class, and the
compiler cannot tell the difference.