in src/main/scala/com/gu/flexible/snapshotter/logic/Retry.scala [8:13]
def apply[T](f: => Attempt[T], retries: Int)(implicit ec: ExecutionContext): Attempt[T] = {
if (retries > 0)
f.recoverWith(_ => apply(f, retries - 1))
else
f
}