I really like how unevaluated operators are working. However, one confusing aspect is that, on display, the operands are reordered to some standard order, but on comparison, the operator order matters.
n [3]: Add(3,2,evaluate=False)
Out[3]: 2 + 3
In [4]: Add(2,3,evaluate=False)
Out[4]: 2 + 3
In [5]: Add(3,2,evaluate=False) == Add(2,3,evaluate=False)
Out[5]: False
Is it possible to make the comparison use the same scheme as the display? It is confusing to get results that 2+3 is not the same as 2+3.
Duane