def join_string_and_insertions(string, insertions):
    """
        Reverse the effects of split_string_and_insertions. Given a string and a set of insertions, return
        the combined string.
    """
    parts = []
    index = 0
    sorted_insertions = sorted(insertions.items(), key=lambda item: item[0])
    for i, insertion in sorted_insertions:
        parts.append(string[index:i])
        parts.extend(insertion)
        index = i
    parts.append(string[index:])
    return ''.join(parts)