+1 to -1. The value of an immediate time out doesn't seem very high to me, but -1 is a value that makes sense to me, because it is an otherwise invalid value.

Another thing that could be used is the JS value Infinity. This would be harder to use in the API, however.

(I thought that `setTimeout(func, Infinity)` would cause it to never return, which would have been nice for the code. I was wrong, it causes it to callback immediately.)