def coalesce_adjacent_intervals(intervals):
    """Combine a set of datetime 2-tuples, coalescing adjacent intervals into
       larger intervals wherever possible.
    """
    if len(intervals) == 0:
        return intervals
    coalesced_intervals = [intervals[0]]
    for interval in intervals[1:]:
        if coalesced_intervals[-1][1] == interval[0]:
            coalesced_intervals[-1] = coalesced_intervals[-1][0], interval[1]
        else:
            coalesced_intervals.append(interval)
    return coalesced_intervals
