# Functions
BinaryExponential returns an Exponential strategy with a base of 2.0
delay = baseDelay * 2^(attempts - 1) Ex.
Constant returns a strategy that always returns the provided duration.
Exponential returns a strategy that exponentially increases based off of the number of attempts.
Linear returns a strategy that linearly increases based off of the number of attempts.
# Type aliases
Strategy is a function that provides the amount of time to wait before trying again.