> Writing "(A . B)(x) == (B . A)(x)" or "A . B == B . A" would make the commutative part of the formula a bit more visible..
It definitely would have made it clearer.
> ..a general version of the commutative property, not a specialized version for function composition..
Ah, but actually the case where a binary operator is commutative over its entire domain is the special case (in the mathematical sense, blah).
It's just that in programming we don't often (explcitly) deal with non-commutative binary operators, and even less often with non-commutative operators which are commutative when restricted to a subset of their domain.
Here's a quick roughly-phrased example:
Consider a rubik's cube. Think of a "move" as a function which maps a cube configuration to another configuration. This is a non-commutative group with elements these cube-config-maps and binary operator function composition. Now, for any two moves f and g which don't "interfere" (e.g. rotate top, rotate bottom), (f . g) == (g . f).