the problem is that it needs to be a ReferrersCollection too. so it would be the ImmutableReferrersCollection which feels weird. or we could see if we can inject a strategy for getting children, references or referrers into a generic collection and then have a simple collection and a immutable collection where we can inject those.

but honestly i think for now its just good enough like this. you do get an exception if you accidentally modify the collection, just a bit late in the process.