protected override Expression VisitUnary(UnaryExpression node) { // NB: This reduces assignment operators so that the stack spiller doesn't have to worry about it. if (node.CanReduce) { return node.Reduce(); } return base.VisitUnary(node); }