An operation ∘ over a type T is commutative if a∘b=b∘a for any two objects a and b of type T. Integer addition and set union are commutative, but string concatenation is not.