always perform requested trait assignments
always perform requested trait assignments

Some assignments do not change *value*, but do change the object,
and these should not be ignored.

For instance, container objects are currently impossible to assign
if they evaluate as equal.

ipython/ipython,ipython/ipython