private T VisitMethodCallCore(MethodCallExpression term)
        {
            MethodInfo method = term.Method;

            TrigonometryFunction trigFunction;

            if (Trigonometry.TryParse(method, out trigFunction))
            {
                return(VisitTrigonometry(term, trigFunction));
            }

            ExponentialFunction expFunction;

            if (Exponential.TryParse(method, out expFunction))
            {
                return(VisitExponential(term, expFunction));
            }

            return(VisitOtherMethodCall(term));
        }