Another issue with home_run storing the offset in a C structure is there is also a range limitation.
home_run actually enforces a 14 hour maximum offset from UTC, since that is the largest offset in current use.
This is different from the standard library, which will accept any offset. So while the standard date library will accept an offset that is over a year in terms of time, home_run will recognize that it is an error and appropriately raise an exception.