```python
def drop_keys(store: dict, keys: list) -> dict:
    """Return a store without the keys specified in the list."""
    if not isinstance(store, dict):
        raise ValueError("store must be a dictionary")
    if not isinstance(keys, list):
        raise ValueError("keys must be a list")
    
    # Use a set for faster lookup
    keys_set = set(keys)
    
    # Create a new dictionary with only the keys that are not in the set
    kept = {key: value for key, value in store.items() if key not in keys_set}
    
    return kept
```