> OTOH, make sure that the output is always independent of hash values and arg orderings.

I do that for Mul and Add terms, see https://github.com/sympy/sympy/pull/2355/files#r5629536.
Is it necessary for any other Functions?