anchor.diff:                  {_, NewRefs, _} = lists:unzip3(NewTransfers),
                   State2 = associate_froms_with_refs(AffectedFroms, NewRefs, State1),
                   State3 = add_in_progress(NewTransfers, State2),
  -                {noreply, State3}
  +
  +                NewDelay = min(
  +                    ?MAX_BACKOFF,
  +                    ?BACKOFF_RATE * maps:get(FailedRef, DelaysMap, ?MIN_BACKOFF)
  +                ),
  +                NewDelaysMap = lists:foldl(fun(Ref, Acc) ->
  +                    Acc#{Ref => NewDelay}
  +                end, DelaysMap, NewRefs),
  +
  +                {noreply, State3#state{backoffs = NewDelaysMap}, ?DIE_AFTER}
           end
       catch
           E1:E2 ->
  
positive.code: 
  -define(PREFETCH_PRIORITY,
      application:get_env(?APP_NAME, default_prefetch_priority, 96)).
  
  -define(FLUSH_STATS, flush_stats).
  -define(FLUSH_BLOCKS, flush_blocks).
  
negative.code:     cached_blocks = [] :: [block()],
      caching_stats_timer :: undefined | reference(),
      caching_blocks_timer :: undefined | reference(),
      caching_events_timer :: undefined | reference(),
      backoffs = #{} :: #{fetch_ref() => number()}
  }).
  
  -define(BLOCK(__Offset, __Size), #file_block{offset = __Offset, size = __Size}).
  