Looking at Random#rand, I notice that passing nil has the same result as not passing any argument.
Either it should raise an ArgumentError like the documentation implies, or else the documentation should be modified.
I would argue to raise an error because:
- it is easy to pass nothing, or pass 1.0 instead, and get the same result if that is what is desired
- it could hide an error in the code, where the result is unexpectedly nil but the programmer didn't think about it (like whiny nils in rails) =end