Replaced AreConstructedWith with WithConstructor on Struct Test.
Implemented NextString to return either a minimum, average or maximum value based on the min and max values passed to NextString.
Average is calculated based on min and max values / 2 or similar division in order to give mostly random 'average' result in relation to 'min and max' values.
Does not handle complex situations like min Length is greater than max length visa versa, or min length is smaller than the length of the words in the array.
Could be guard clauses ensuring some kind of minimum and maximum support or minimum > maximum visa versa.
Simplified declaration queue iterations in multiple functions that were using a for loop with index but no complex logic inside the loop, so can be replaced with a simple foreach loop.
Replaced .Count() with .Any()