Remove this typedef - the only place where it is used is "for" loop. And there you can use type deduction with "auto" keyword:
```for (auto & building : town->buildings)```