anchor.diff:          #{cluster := <<Id/binary>>} ->
               store(cluster_id, Id, Service)
       catch _Type:Error ->
  -        fetch(cluster_id, Service, ?make_stacktrace(Error))
  +        fetch_or_throw(cluster_id, Service, ?make_stacktrace(Error))
       end.
   
   
  
positive.code:         {ok, Details} = get_details(Auth, get_id()),
          store(cluster, Details, Service)
      catch _Type:Error ->
          fetch(cluster, Service, ?make_stacktrace(Error))
      end.
  
  
  
negative.code: %% Throws given Error on failure.
  %% @end
  %%--------------------------------------------------------------------
  -spec fetch_or_throw(Key :: term(), Service :: service:name(), ErrorResult :: term()) ->
      FoundValue :: term().
  fetch_or_throw(Key, Service, Error) ->
      case service:get_ctx(Service) of
          #{Key := Value} -> Value;
          _ -> throw(Error)
  