Depends on if you think of functional notation or matrix operators and linear algebra first. There's also dirac bra-ket notation from QM. I tend to reach for the latter two more than the former.
Particularly in this case O^2 = O makes more sense to me than f(f(x)) = f(x). And I just naturally think about A B - B A = 0 rather than f(g(x)) - g(f(x)) = 0 for commutativity.
f(x) = f(f(x)) = f f x = f^2 x = f x
And leaving out the x, because it is just a placeholder anyways:
f f = f^2 = f
And of course this means that
f^n = f because f^n-1 f = f^n-1 by induction.