onException 
  abstract fun onException(exceptionTypes: Set<KClass<out Throwable>>, requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() })
abstract fun onException(exceptionPredicate: (Throwable) -> Boolean, requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() })