Just to check: this minimum is correct?
It would be easy to make mistakes here, as in principle `-0x80000000` is the lowest representable value in a 32-bit int. The old `CastToBigNum` just checks the size of the vector so it doesn't tell me much.