magma — algebraic structure with a binary operation