> Can you explain why those two cases being ambiguous is a problem?

To flip the question around... what's the advantage in making them ambiguous?

If you're working around a buggy sleep behavior, that's probably best handled where you make the sleep call.

In some cases it might make sense to `raise` if asked to sleep with no timers (or perhaps block indefinitely)