from operator import add


def merge(previous, next_):
    """Merge multiple lists or tuples into a single list or tuple.

    Args:
        previous: The result from the last merge. If this is the first
            occurence of a key then this is :obj:`EMPTY`.
        next\\_: The value that was found in the currently iterated source.

    Returns:
        When `previous` is :obj:`EMPTY` it returns `next_`.

    Examples:
        >>> merge([1, 2], [3, 4])
        [1, 2, 3, 4]
    """
    return add(previous, next_)