```python
def bin_spill(bins: dict, limit: int) -> list:
    """The bins standing above a limit, in the order they were added."""
    return [name for name, held in bins.items() if held > limit]


def bin_add(bins: dict, name: str, count: int) -> dict:
    """Add a count to one bin and return the updated record without changing the one it was given."""
    updated = dict(bins)
    updated[name] = updated.get(name, 0) + count
    return updated
```