Thanks for posting this. I think this package is shaping up really nicely.
One thing I was wondering about... should we use deadlines instead of timeouts? They can compose better when you have multiple requests that you want to chain within a certain total time.