public IExpressionTypeDescriptor WithDefinesExpressionClass(bool definesExpressionClass)
        {
            var useSame = definesExpressionClass == DefinesExpressionClass;

            return(useSame
                ? this
                : ExpressionTypeDescriptor.Create(Name, ValueTypeId, definesExpressionClass));
        }
        public IExpressionTypeDescriptor WithValueType(string valueTypeId)
        {
            var useSame = string.Equals(valueTypeId, ValueTypeId, StringComparison.Ordinal);

            return(useSame
                ? this
                : ExpressionTypeDescriptor.Create(Name, valueTypeId, DefinesExpressionClass));
        }