```python
from typing import List

def span_merge(spans: List) -> List:
    if not spans:
        return []

    spans.sort()
    merged_spans = []
    for span in spans:
        if not merged_spans or span[0] < merged_spans[-1][[1]:
            merged_spans[-1][[1] = min[-1][[1] + span[1:]
        else:
            merged_spans.append(span)

    return merged_spans
```