human
I wrote the below code

    kinds = tuple((list(compat.string_types) + [ABCSeries, np.ndarray, Index, list]))
    if isinstance(slice_, kinds):
        slice_ = IndexSlice[:, slice_]
    def pred(part):
        return (isinstance(part, slice) or is_list_like(part))
    if (not is_list_like(slice_)):
        if (not isinstance(slice_, slice)):
            slice_ = [[slice_]]
        else:
            slice_ = [slice_]
    else:
        slice_ = [(part if pred(part) else [part]) for part in slice_]
    return tuple(slice_)

What's a good function header?
 Here's a good function header?
assistant
#Here's a good function header.

def _non_reducing_slice(slice_):