The logic in Expr::sameAs() is known to be incomplete ("binaryOp, unaryOp, and ternaryOp won't evaluate correctly here")