For low NUMWEIGHTS, uniform distribution currently can create a skewed distribution when weights are changed (because minweight is being subtracted, so it defaults to 0 if the new value is negative). Can change this by removing the subtracting of minweight.
Normal distribution can also go negative (about 0.7% of the time), but it defaults to 0, and this along with values being set to very low numbers can make the changing version very skewed (when number of weight changes to number of weights ratio is high), and therefore faster than the non-changing version.
Weibull distribution has the same issue - minweight is subtracted, meaning that weights are set to 0, meaning that the distribution is even more skewed than it should be (and a relatively large number of weights can never be chosen again).