# Functions
Attempts is used to config the max retry times.
Do will run function with retry mechanism.
IsUnRecoverable is used to judge whether the error is wrapped by unrecoverableError.
MaxSleepTime is used to config the max interval time of each execution.
Sleep is used to config the initial interval time of each execution.
Unrecoverable method wrap an error to unrecoverableError.
# Type aliases
Option is used to config the retry function.