sympy/sympy — pull request #828 by smichr (2011-12-07 15:29:24+00:00)
Title: args_cnc returns list for commutative; can return checked set

If there are repeated arguments in a Mul and a set has been requested
then the calling code should figure out what to do:

1) should the Mul be rebuilt? should only the repeated args be combined?
2) should the set be taken anyway because repeats don't matter?

So when this case is detected, an error is raised unless warn is set
to False; in that case the set will be returned even though it doesn't
contain the repeated args.

A note was added to Expr.as_powers_dict warning against using the
dictionary obtained from it to rebuild a Mul that contains noncommutative
factors.