def load_cPkl(fpath, verbose=None, n=None):
    verbose = _rectify_verb_read(verbose)
    if verbose:
        print('[util_io] * load_cPkl(%r)' % (util_path.tail(fpath, n=n),))
    try:
        with open(fpath, 'rb') as file_:
            data = pickle.load(file_)
    except UnicodeDecodeError:
        if six.PY3:
            with open(fpath, 'rb') as file_:
                data = pickle.load(file_, encoding='latin1')
        else:
            raise
    except ValueError as ex:
        if six.PY2:
            if ex.message == 'unsupported pickle protocol: 4':
                raise ValueError(
                    'unsupported Python3 pickle protocol 4 '
                    'in Python2 for fpath=%r' % (fpath,))
            else:
                raise
        else:
            raise
    return data