/// <summary>
        /// Evaluate this function
        /// </summary>
        public Number Evaluate(Number x)
        {
            // Not a changing function
            if (!changing && constNumber != null)
            {
                return(constNumber);
            }

            return(type.Evaluate(x, this));
        }