protected override string VisitVariableExpression(NameExpression exp, out object retObject)
        {
            retObject = null;
            var val = exp.ToString();

            return(val);
        }
        protected override string VisitVariableExpression(NameExpression vex, out object resultObj)
        {
            resultObj = null;
            var output = vex.ToString();

            if (vex.Member != null)
            {
                output = vex.Member.ToString();
            }
            var donutFn = new InternalDonutFunctionProxy(output, output);

            resultObj = donutFn;
            return(output);
        }