The stateless generators should largely be the default ones inside the standard library. The syntactical overhead of making the stateless RNG's into classes should be made up for by the ease of use elsewhere. Do remember that they would have still been at least structs otherwise, they wouldn't have been free functions.