```python
from typing import List

def span_merge(spans: List[tuple]) -> List[tuple]:
    spans.sort()  # Ensure spans are sorted by start time
    merged_spans = []
    current_span = None

    for span in spans:
        start, end = span
        if current_span is None or end <= current_span[0]:
            current_span = span
            merged_spans.append(span)
        elif end > current_span[1]:
            current_span[1] = end
            merged_spans.append(span)

    return merged_spans
```