Spec for defining a fetch retrier.
fetch_url() :: (... -> any)
opts() :: map
perform(fetch_url, opts) :: term