public static Expression Reduce(Expression expression)
		{
			var depAnalyzer = new ParameterDependencyAnalyzer();
			depAnalyzer.Visit(expression);

			var reducer = new ExpressionReducer(depAnalyzer.DependentExpressions);
			return reducer.Visit(expression);
		}
        public static Expression Reduce(Expression expression)
        {
            var depAnalyzer = new ParameterDependencyAnalyzer();

            depAnalyzer.Visit(expression);

            var reducer = new ExpressionReducer(depAnalyzer.DependentExpressions);

            return(reducer.Visit(expression));
        }