Across the code base, we have lots of:
Packedints.bitsRequired(delta) doesn't work directly in that case since it expects a positive value. And that is important that it does so in order to get an error instead of silently being super wasteful if a negative value is provided.
Yet in some cases such as the one depicted above, the value should be interpreted as an unsigned long. So I propose to add another bitsRequired method that would interpret the value as unsigned.