The thing I don't like about each type having its own `add_to_network` is that it takes a simple task---putting the right types into the right lists---and splits that code up across the file. I think it should be in one place, right beside where the lists are created.

But I'm not going to fight tooth and nail on this. If you don't want to change it, the only thing I'd ask is in each implementation of `add_to_network`, the input parameter is called `model`. Change that to `network`.