Refactored to mimic HoTT's algebra, added Groups
Added semiring, carriers are now parameters, not fields