[PostScript]
Commutative (\circ, T, Range): trait introduces __ \circ __: T, T -> Range asserts forall x, y: T x \circ y == y \circ x