I agree with Henning on this one.
(==) provides an equivalence relation.
Despite the addition of some vocabulary in base 4.12 about how (==) "should" be structural, that is at odds with Arg's actual purpose.
I'd rather argue that the attempted refinement of (==)'s documentation was rather overzealous than that Arg as it is defined is wrong.
The instances are useful and follow the intent of the classes, just not the extra paragraph that was bolted on sideways to the text describing Eq.
-Edward