I'm a bit concerned that we have different code paths depending on the value of `offset` since this means that changing the code for `BigArrays.hashCode` might break this hashCode implementation.