Category of rings
Cat::Ring represents the category of rings.
A Cat::Ring is a ring with a unit dom::one, i.e., an Abelian group according to the operation + (_plus) and a non-Abelian monoid according to the operation * (_mult) where in addition the two distributive laws a (b + c) = a b + a c and (a + b) c = a c + b c hold.
A Cat::Ring is also a left module over itself. The left multiplication of the module is also written as * (_mult).
Note that a ring without unit is a Cat::Rng.