ValueGenerator<T>
Provides a convenient shorthand when TStep is IComparable<T>
and the default value of TStep represents zero.
Encapsulates the ability to increment a T value by an amount
which may be of a different type.
protected ValueGenerator()