Okay I've read through it all now so I think I have a better understanding of it. I still think that we shouldn't have two ways to do the same thing. It makes it seem like they do two different things, even though they don't. On the other hand, setting `seed` in simulator does actually do something different. I think it'd be better to not make this possible in the simulator function; yes, it means that you would have to do
```python
model.seed = 872
sim1 = model.simulator()
model.seed = 873
sim2 = model.simulator()
```
But one extra line isn't worth the possible confusion of thinking that `Model.seed` and `model.simulator(model_seed)` refer to different seeds.