anchor.diff:              {[], []} -> {error, update_not_needed};
               _ -> {ok, Group#user_group{effective_groups = Effective}}
           end
  -    end).
  -
  +    end), ok.
  +
  +-spec update_effective_users(GroupID :: binary(), effective_users()) -> ok.
   update_effective_users(ID, Effective) ->
       user_group:update(ID, fun(Group) ->
           Current = ordsets:from_list(Group#user_group.effective_users),
  
positive.code: %%% Internal: Conditional updates
  %%%===================================================================
  
  update_effective_groups(ID, Effective) ->
      user_group:update(ID, fun(Group) ->
          Current = ordsets:from_list(Group#user_group.effective_groups),
  
negative.code:         end
      end, [], GIDs).
  
  -spec gather_users_groups(UIDs :: [binary()]) -> GIDs :: [binary()].
  gather_users_groups(Users) ->
      lists:foldl(fun(UID, Acc) ->
          case onedata_user:get(UID) of
  