So this pops up from time to time, we spent a long time sorting out shuffle algorithms early on in the development process for ...