Costor
Costor
I'm not sure I see your point: As today I can see in the code that `Pow(x,2) -> Pow.__new(x, 2)` tries really hard to evaluate `x**2`, even might call `x._eval_power(2)`....
Ok, I see... though I see classes that even do an overload of __mul__ (e.g. Operator, IdentityOperator). But there are ways to stay away of __pow__, see below. However I...
Ok, the Matrix class shows consistent behavior, also with symbols: ``` n = symbols("n") M = MatrixSymbol('M', n, n) MatMul(M, M.inv()) #-> M * M ** (-1) unevaluated _.doit() #...