A std::chrono::duration
inspired time interval library.
fn sleep_seconds(wait: Seconds):
...
var s = Seconds(10)
sleep_seconds(s)
# sleep_seconds(Milliseconds(10000)) # Fails to compile
sleep_seconds(Milliseconds(10000).cast[R=Seconds.R]()) # Explicit cast to Seconds
# Arithmetic
var added = Seconds(10) + Seconds(15)
# Custom time interval
alias HalfDay = Time[Ratio[86400//2, suffix="HD"]()]