public static DataSourceStandard <NullableCollectionDataContainerFactory <NullableDefaultedCollectionStateValidator <TValue>, TValue, TValue>, Option <TValue[]>, TValue[], ItemCountValidator <TValue> > ItemCount <TValue>(this NullableDefaultedCollectionStateValidator <TValue> source, int?minimumItems = null, int?maximumItems = null)
 => source.Add(new ItemCountValidator <TValue>(minimumItems, maximumItems));
 public static DataSourceStandard <NullableCollectionDataContainerFactory <NullableDefaultedCollectionStateValidator <TValue>, TValue, TValue>, Option <TValue[]>, TValue[], CustomValidator <TValue[]> > Assert <TValue>(this NullableDefaultedCollectionStateValidator <TValue> source, string description, Func <TValue[], bool> validator)
 => source.Add(new CustomValidator <TValue[]>(description, validator));
 public static DataSourceStandard <NullableCollectionDataContainerFactory <NullableDefaultedCollectionStateValidator <TValue>, TValue, TValue>, Option <TValue[]>, TValue[], UniqueValidator <TValue> > Unique <TValue>(this NullableDefaultedCollectionStateValidator <TValue> source)
 => source.Add(new UniqueValidator <TValue>());
 public static DataSourceInverted <NullableCollectionDataContainerFactory <NullableDefaultedCollectionStateValidator <TValue>, TValue, TValue>, Option <TValue[]>, TValue[], TValueValidator> Not <TValue, TValueValidator>(this NullableDefaultedCollectionStateValidator <TValue> source, Func <NullableDefaultedCollectionStateValidator <TValue>, DataSourceStandard <NullableCollectionDataContainerFactory <NullableDefaultedCollectionStateValidator <TValue>, TValue, TValue>, Option <TValue[]>, TValue[], TValueValidator> > validatorFactory)
     where TValueValidator : struct, IValueValidator <TValue[]>
 => validatorFactory.Invoke(source).InvertOne();