Îõ³h&¤      Safe-InferredÖמ commutative-semigroupsAn  semigroup is a  that follows the rule: a <> b == b <> acommutative-semigroups1Product of commutative semigroups, Functor style.commutative-semigroups< lifts commutative semigroups pointwise (at only one point).commutative-semigroups- lifts commutative semigroups into a functor.commutative-semigroups-Trivial commutative semigroup, Functor style.commutative-semigroups commutative-semigroups commutative-semigroupsæProduct commutative semigroup. A Pair of commutative semigroups gives rise to a commutative semigroupcommutative-semigroups0Functions lift commutative semigroups pointwise.commutative-semigroupscommutative-semigroupsTrivial commutative semigroup.     &commutative-semigroups-0.0.2.0-inplaceData.Semigroup.Commutative Commutative$fCommutativeOp$fCommutative:.:$fCommutative:*:$fCommutativeIdentity$fCommutativeConst$fCommutativeProxy$fCommutativeDown$fCommutativeIntSet$fCommutativeSet$fCommutative(,,,,)$fCommutative(,,,)$fCommutative(,,)$fCommutative(,)$fCommutative->$fCommutativeDual$fCommutativeProduct$fCommutativeSum$fCommutativeMaybe$fCommutative()baseGHC.Base SemigroupData.Functor.IdentityIdentityData.Functor.ConstConst