anchor.diff:              fetch_link, [ModelConfig, Key, GetLinkName(I)]]), 6)
       end,
       GetAllLinks = fun(Links, MotherScope, OtherScopes) ->
  -        AccFun = fun(LinkName, _, Acc) ->
  -            [LinkName | Acc]
  +        AccFun = fun(LinkName, LinkValue, Acc) ->
  +            maps:put(LinkName, LinkValue, Acc)
           end,
           {_, ListedLinks} = FLAns = ?call(Worker1, ?MODULE, execute_with_link_context, [MotherScope, OtherScopes,
  -            foreach_link, [?GLOBALLY_CACHED_LEVEL, Doc, AccFun, []]]),
  +            foreach_link, [?GLOBALLY_CACHED_LEVEL, Doc, AccFun, #{}]]),
           ?assertMatch({ok, _}, FLAns),
   
           lists:foreach(fun(I) ->
  -            ?assert(lists:member(GetLinkName(I), ListedLinks))
  +            ?assert(maps:is_key(GetLinkName(I), ListedLinks))
           end, Links),
           LinksLength = length(Links),
  -        ?assertMatch(LinksLength, length(ListedLinks))
  +        ?assertMatch(LinksLength, maps:size(ListedLinks))
       end,
       DeleteLink = fun(I, MotherScope, OtherScopes) ->
           ?assertMatch(ok, ?call(Worker1, ?MODULE, execute_with_link_context, [MotherScope, OtherScopes,
  
positive.code: 
      ModelConfig = TestRecord:model_init(),
      PModule = ?call_store(Worker1, driver_to_module, [?PERSISTENCE_DRIVER]),
      CModule = ?call_store(Worker1, driver_to_module, [?DISTRIBUTED_CACHE_DRIVER]),
      Key = <<"key_cgct">>,
      Doc =  #document{
          key = Key,
  
negative.code:     ?assertMatch({ok, _}, ?call(Worker1, TestRecord, create, [Doc])),
      ?assertMatch({ok, true}, ?call(Worker2, PModule, exists, [ModelConfig, Key]), 6),
  
      ?assertMatch(ok, ?call(Worker2, caches_controller, clear, [?GLOBAL_ONLY_LEVEL, TestRecord, Key])),
      ?assertMatch({error, already_exists}, ?call(Worker1, TestRecord, create, [Doc])),
  
      ?assertMatch(ok, ?call(Worker2, PModule, delete, [ModelConfig, Key, ?PRED_ALWAYS])),
  