anchor.diff:      ?error("Transfer ~p failed: ~p", [Ref, ErrorStatus]),
       {_Block, _Priority, AffectedFroms, FinishedFroms, State1} =
           disassociate_ref(Ref, State),
  -    {_FailedBlocks, _ExcludeSessions, _FailedTransfers, State2} =
  +    {_FailedBlocks, _ExcludeSessions, FailedTransfers, State2} =
           disassociate_froms(FinishedFroms, State1),
   
       %% Cancel TransferIds that are still left (i.e. the failed ref was only a part of the transfer)
  
positive.code:             [gen_server2:reply(From, {ok, Message}) || {From, Message} <- Ans]
      end,
  
      {noreply, State4, ?DIE_AFTER};
  
  handle_info({FailedRef, complete, {error, disconnected}}, State) ->
      {Block, Priority, AffectedFroms, _FinishedFroms, State1} =
  
negative.code:     session_to_froms = #{} :: #{session:id() => sets:set(from())},
      from_requests_types = #{} :: #{from() => request_type()},
      from_to_transfer_id = #{} :: #{from() => transfer:id() | undefined},
      ref_to_transfer_ids = #{} :: #{fetch_ref() => [transfer:id()]},
      transfer_id_to_from = #{} :: #{transfer:id() | undefined => from()},
      cached_stats = #{} :: #{undefined | transfer:id() => #{od_provider:id() => integer()}},
      requested_blocks = #{} :: #{from() => block()},
  