* Refactor (rename variable).
! Handle nil and <= 0 seconds timeout same as stock.

Now, the stock timeout throws exception on a negative number of seconds, but I
don't. I just don't see that as useful. Since no exception is thrown on nil and
zero, which are clearly not intended use cases (i.e. probably programming
errors), why would you throw exception on negative seconds?