oneOf<V> function
Returns a generator that picks a random element from values on each call.
Throws ArgumentError if values is empty.
Implementation
TValueGenerator oneOf<V>(
List<V> values, {
required Random random,
}) {
_requireNonEmpty(values, 'values');
return () => values[random.nextInt(values.length)];
}