This is a weird case and perhaps unlikely to be encountered in normal use, but I'm noting it here.
Consider:
{A,X}::AntiCommuting.
ex := X A X;
sort_product(ex)
collect_factors(ex);
The above produces a negative sign as one might suspect. However:
{A,X}::AntiCommuting.
ex := X A X;
collect_factors(ex);
The above does not. Nor does this:
{A,X}::AntiCommuting.
ex := X A X;
simplify(ex);