The current implementation has a bug: it returns 0 for empty input, but 0 is a valid lap time (a completed lap that took zero time). The fix is to return `None` for empty input, since the contract says "no completed lap" should be the result.

```python
def lap_best(laps: list) -> int:
    """The quickest completed lap of a session."""
    if not laps:
        return None
    best = laps[0]
    for lap in laps:
        if lap < best:
            best = lap
    return best
```