I still think that the optional tolerance
parameters lead to an unfortunate API where
sleep(..., tolerance: .none)
doesn't mean "no tolerance" but "default tolerance" which is quite confusing. This confusion could be easily avoided by making the parameter non-optional and requiring some .default
or so value.