```python
from typing import List

def swipe_dedupe(swipes: List) -> List:
    """
    Given a list of card swipes in the order they were recorded, drop any swipe that simply repeats the one immediately before it, keeping the first of each such run.
    A card swiped again later, with a different card in between, is kept.
    """
    if not swipes:
        return []

    deduped_swipes = [swipes[0]]
    for swipe in swipes[1:]:
        if swipe != deduped_swipes[-1]:
            deduped_swipes.append(swipe)

    return deduped_swipes
```