protected override Symbol Evaluate(Expression expression)
        {
            var x = expression.Arguments[0];
            var y = expression.Arguments[1];

            if (x.GetType() != y.GetType())
            {
                return(expression);
            }

            return(SymbolComparer.Compare(x, y));
        }