def split_negations(iterable, func=str):
    """"Split an iterable into negative and positive elements.

    Args:
        iterable: iterable targeted for splitting
        func: wrapper method to modify tokens

    Returns:
        Tuple containing negative and positive element tuples, respectively.
    """
    neg, pos = [], []
    for token in iterable:
        if token[0] == '-':
            if len(token) == 1:
                raise ValueError("'-' negation without a token")
            token = token[1:]
            l = neg
        else:
            l = pos
        obj = func(token)
        if obj is not None:
            l.append(obj)
    return tuple(neg), tuple(pos)
