```python
def pick_lane(queues: list, closed: list) -> int:
    if not queues or not isinstance(queues, list) or not all(isinstance(q, int) for q in queues) or queues[0] < 0:
        raise ValueError("Invalid queues argument.")
    
    if not closed or not isinstance(closed, list) or not all(isinstance(c, int) for c in closed) or any(c < 0 or c >= len(queues) for c in closed):
        raise ValueError("Invalid closed argument.")
    
    if all(q == 0 for q in queues):
        raise ValueError("All lanes are closed.")
    
    best = 0
    for lane in range(1, len(queues)):
        if queues[lane] < queues[best] and lane not in closed:
            best = lane
    return best
```