/// <summary>
        ///     Reduces this expression to base DLR variables.
        /// </summary>
        /// <returns></returns>
        public override Expression Reduce()
        {
            var expr = new AssignmentExpression(Left as LeftHandValueExpression, Right, SetNodeType);

            expr.SetScope(Scope.ParentScope);
            expr.Right.SetScope(Scope);

            return expr;
        }