Imandrakit_thread.SupervisorSupervisor-like features
val retry_loop :
?max:int ->
?initial_delay_before_restart_s:float ->
?max_delay_before_restart_s:float ->
unit ->
(attempt_number -> 'a) ->
'aretry_loop f runs f(); if f() fails, the loop waits a bit and tries again.