Added semiring, carriers are now parameters, not fields
Added Abelian groups and rings