anchor.diff:      cached_blocks = [] :: [block()],
       caching_stats_timer :: undefined | reference(),
       caching_blocks_timer :: undefined | reference(),
  -    caching_events_timer :: undefined | reference()
  +    caching_events_timer :: undefined | reference(),
  +    backoffs = #{} :: #{fetch_ref() => number()}
   }).
   
   -define(BLOCK(__Offset, __Size), #file_block{offset = __Offset, size = __Size}).
  
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:                 {_, NewRefs, _} = lists:unzip3(NewTransfers),
                  State2 = associate_froms_with_refs(AffectedFroms, NewRefs, State1),
                  State3 = add_in_progress(NewTransfers, State2),
  
                  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 ->
  