Unbiased across the whole range
Turning random bits into a number in a range is where most generators quietly go wrong: taking the remainder makes the low end of the range come up slightly more often.
This one discards the values that would skew it and draws again, so 100 is exactly as likely as 1 — the difference is invisible in a single draw and obvious over a few million.