```python
def bin_rotate(entries: list[str], places: int) -> list[str]:
    if len(entries) == 0:
        return []
    shift = places % len(entries)
    if shift == 0:
        return entries
    if shift < 0:
        shift = len(entries) + shift
    out = []
    for i in range(len(entries)):
        out.append(entries[(i + shift) % len(entries)])
    return out
```