The default constructor of `Random` is seeded by `GetTickCount`. Unfortunately `GetTickCount` will return the same value when called in quick succession. It stays the same for 1 to 16 Milliseconds. This means that instances of `Random` created in quick succession will return the same sequence of random numbers. While this is known and documented behavior I see no advantage of using a coarse timestamp over other seeding methods.
I suggest using a better seed for the default constructor of Random since it's a very common beginner mistake to create multiple instances of `Random` quickly. It also makes it much easier to create encapsulated functions that create their own instance of `Random`, for example array shuffling functions.
This change will only break programs that rely on successive sequences being the same. I expect that to be rare. On the other hand it eliminates a very common beginner mistake.