It's more than just an accident. We don't have to perform the mutation inside pytest_generate_tests though. The config is also exposed globally at `pytest.config` so we can do

```python
@pytest.fixture(
    params=select_backends(pytest.config.getoption("--backend", _ALL_BACKENDS))
```

too I think.

You might be right though. The more I play around with pytest.fixture the more it seems to be kind of broken :(