I'll bounce in with another iteration of my argument for avoiding language primitive types and always using domain-appropriate value types.
A Duration is not a number type, neither float or integer.
It may be implemented using whatever primitive the language provides,
but for timeouts and sleep,
what is 1 Duration?
The software always encodes some definition of 1 unit in the time domain,
make it clear to the user or programmer.