anchor.diff:  %% Throws exception when call to the datastore fails, or group/user doesn't exist.
   %% @end
   %%--------------------------------------------------------------------
  --spec get_effective_privileges(GroupId :: od_user:id(), UserId :: binary()) ->
  +-spec get_effective_privileges(GroupId :: od_group:id(), UserId :: od_user:id()) ->
       {ok, [privileges:group_privilege()]}.
   get_effective_privileges(GroupId, UserId) ->
       {ok, #document{value = #od_group{
  
positive.code: %% Throws exception when call to the datastore fails, or group doesn't exist.
  %% @end
  %%--------------------------------------------------------------------
  -spec modify(GroupId :: od_user:id(), Data :: maps:map()) ->
      ok.
  modify(GroupId, Data) ->
      {ok, _} = od_group:update(GroupId, Data),
  
negative.code: %% Throws exception when call to the datastore fails.
  %% @end
  %%--------------------------------------------------------------------
  -spec add_group(ParentGroupId :: od_group:id(), ChildGroupId :: od_group:id()) ->
      {ok, GroupId :: onedata_group:id()} | {error, cycle_averted}.
  add_group(ParentGroupId, ChildGroupId) ->
      case has_nested_group(ParentGroupId, ChildGroupId) of
  