Bitrix — группы пользователя: получить и назначить

Как получить список групп пользователя и заменить набор групп.
// Получить группы пользователя
$userId = 123;
$groups = CUser::GetUserGroup($userId);
print_r($groups);

// Задать новый набор групп
$newGroups = array_unique(array_merge($groups, [6])); // добавим группу 6
CUser::SetUserGroup($userId, $newGroups);