public static ISchema <T> GreaterThan <T>(this ISchema <T> schema, T minimum)
        {
            schema.AssertArgumentNotNull(nameof(schema));
            schema.AssertPropertyIsNumeric();

            return(schema.MergeNumericInterval(new NumericInterval(Convert.ToDecimal(minimum), exclusiveMinimum: true, null, null)));
        }
        public static ISchema <T> LessThanOrEqual <T>(this ISchema <T> schema, T maximum)
        {
            schema.AssertArgumentNotNull(nameof(schema));
            schema.AssertPropertyIsNumeric();

            return(schema.MergeNumericInterval(new NumericInterval(null, null, Convert.ToDecimal(maximum), exclusiveMaximum: false)));
        }
        public static ISchema <T> SetMaximum <T>(this ISchema <T> schema, T maximum, bool exclusiveMaximum = false)
        {
            schema.AssertArgumentNotNull(nameof(schema));
            schema.AssertPropertyIsNumeric();

            return(schema.MergeNumericInterval(new NumericInterval(null, null, Convert.ToDecimal(maximum), exclusiveMaximum: exclusiveMaximum)));
        }