Algebra.Construct.Zero defines some zero objects (magma, semiring, band) which are not zero objects, only terminal ones. Correspondingly, true zero objects defined there should also be re-exported as initial objects. Suggest a refactor to put things 'in the right place':
- define
Terminal to introduce all the terminal algebras;
- re-export the subset of those which are zero objects also in
Initial and Zero;
- define the true initial objects for
Magma, Semigroup, Band in Initial
See PR #1902