I can imagine someone doing a
pick = rnrand16() - 0x7fff
if pick > 0...
where these are not equally likely anymore (I may have an off-by-one anyway ;)).