I don't think it can really prevent overflow. The fraction is chosen as `3 * INT_MAX / count`, which means the expect sample size is `3 * INT_MAX > INT_MAX`. So `collect()` will throw an exception almost surely.