$groups = collect(is_array($groups) || $groups instanceof Collection ? $groups : func_get_args())
            ->flatten()
            ->reduce(function ($array, $group) {
                if (empty($group)) {
                    return $array;