Currently there are classes like SystemModel which are very difficult to extend.
The approach of adding new types to the model has to be simplified.
The other area to check would be code responsible to convert ElementReference and ElementIdentifier and check if it can be simplified.
The last thing would be to check the tests, if there is any way to simplify them.