The `intLog2(expectedFragments - 1)` expression is hurting my brain. As I understand it, the bucket index will be the decrement followed by the position of the highest-order bit... but that scale isn't quite logarithmic in bucket size. With this implementation, we get (I believe):

```ruby
[1, 2, 3..4, 5..8, 9..16, etc...]   # Note that the first two buckets are the same size. 
```

If the bucket index were given by `intLog2(expectedFragments) - 1` instead, each successive bucket would double in size:

```ruby
[1, 2..3, 4..7, 8..15, etc...]
```

Am I correct? Or way off the mark?