> Is that what you were asking?
Yes.

OK, I understand.  Thanks for explain.  
The value of with-timeout is when ~f ge called, automatically cancel the timer, quite clever.

My initial thought: `on-timeout` and `cancel` is quite flexible.   
Does `with-timeout` is necessary ?  How do you think about it?  I raise the question for discussion.