fast(-er) cs->num decode
disallow [0,0) generation intervals
direct num extraction for bounds 2^n
tweak api
comment mutability problems
isolate precondition
finish byte conversion; move it
clean up rng; separate interfaces