# Buggy code
def _clean_na_values(na_values, keep_default_na=True):
    if na_values is None:
        if keep_default_na:
            na_values = _NA_VALUES
        else:
            na_values = []
        na_fvalues = set()
    elif isinstance(na_values, dict):
        na_values = na_values.copy()  # Prevent aliasing.
        if keep_default_na:
            for k, v in compat.iteritems(na_values):
                if not is_list_like(v):
                    v = [v]
                v = set(v) | _NA_VALUES
                na_values[k] = v
        na_fvalues = dict(
            [
                (k, _floatify_na_values(v))
                for k, v in na_values.items()  # noqa
            ]
        )
    else:
        if not is_list_like(na_values):
            na_values = [na_values]
        na_values = _stringify_na_values(na_values)
        if keep_default_na:
            na_values = na_values | _NA_VALUES

        na_fvalues = _floatify_na_values(na_values)

    return na_values, na_fvalues


# Traceback (TypeError)
Traceback (most recent call last):
File "/home/alexey.lisicyn/testPand.py", line 22, in <module>
header_v = read_excel(file, **pre_kwargs).columns.values
File "/tmp/opt/linux-CentOS_4.4-x64/P7/python-2.7.7-dbg/lib/python2.7/site-packages/pandas/io/excel.py", line 170, in read_excel
skip_footer=skip_footer, converters=converters, **kwds)
File "/tmp/opt/linux-CentOS_4.4-x64/P7/python-2.7.7-dbg/lib/python2.7/site-packages/pandas/io/excel.py", line 438, in _parse_excel
output[asheetname] = parser.read()
File "/tmp/opt/linux-CentOS_4.4-x64/P7/python-2.7.7-dbg/lib/python2.7/site-packages/pandas/io/parsers.py", line 747, in read
ret = self._engine.read(nrows)
File "/tmp/opt/linux-CentOS_4.4-x64/P7/python-2.7.7-dbg/lib/python2.7/site-packages/pandas/io/parsers.py", line 1611, in read
index, columns = self._make_index(data, alldata, columns, indexnamerow)
File "/tmp/opt/linux-CentOS_4.4-x64/P7/python-2.7.7-dbg/lib/python2.7/site-packages/pandas/io/parsers.py", line 920, in _make_index
index = self._agg_index(index)
File "/tmp/opt/linux-CentOS_4.4-x64/P7/python-2.7.7-dbg/lib/python2.7/site-packages/pandas/io/parsers.py", line 1012, in _agg_index
arr, _ = self._convert_types(arr, col_na_values | col_na_fvalues)
TypeError: unsupported operand type(s) for |: 'list' and 'set'

# Fixed code
def _clean_na_values(na_values, keep_default_na=True):
    if na_values is None:
        if keep_default_na:
            na_values = _NA_VALUES
        else:
            na_values = set()
        na_fvalues = set()
    elif isinstance(na_values, dict):
        na_values = na_values.copy()  # Prevent aliasing.
        if keep_default_na:
            for k, v in compat.iteritems(na_values):
                if not is_list_like(v):
                    v = [v]
                v = set(v) | _NA_VALUES
                na_values[k] = v
        na_fvalues = dict(
            [
                (k, _floatify_na_values(v))
                for k, v in na_values.items()  # noqa
            ]
        )
    else:
        if not is_list_like(na_values):
            na_values = [na_values]
        na_values = _stringify_na_values(na_values)
        if keep_default_na:
            na_values = na_values | _NA_VALUES

        na_fvalues = _floatify_na_values(na_values)

    return na_values, na_fvalues