Cf. #2195 and #2253
IsNonAssociativeRing admits enough properties to make the zero field redundant by exactly the same argument as for IsRingWithoutOne (so the redundancy is a bug, and removing it would be breaking)
- correspondingly, the argument for
IsRingWithoutOne makes no use of *-assoc...
Possible remedy: introduce a further refinement in which a new IsNonAssociativeRingWithoutOne would the 'right' home for such an argument, with each of the above two structures inheriting from that...?
See for example this blob and prior refactoring via Quasiring... for a possible solution.