Since `normalize` is only used internally to catch "simple" overflows when `+/-` two timespecs I would highly recommend not to use a while loop and only allow single overflows (so replacing the while into `if / else if`).