Ouch, pardon typos.  I'm terrible with incomplete sentence edits, maybe I need STM to make them atomic ;-).
 
There implementation has two major pieces:

Rather, it next creates numbers in an arbitrary range: genRange.  First of all, I

An alternative would be to go even further and require every RandomGen instances to generate the full range of Ints.