The eAllContents (as in the code I copied above) is what EMF eAllContents does (IIRC). Not sure there is a corresponding for also visiting all references. If there is, it can be added in a similar way.

My decision to keep it inside the objects was because it is done that way in EMF (makes it easy to find and you can read the EMF documentation even :-). If it was not that way already elsewhere, I would have placed it outside.

An enumerator that also visits all references is (as far as I have seen) not that commonly used, and is perhaps better suited for being external. I don't have a strong opinion on this. Either way is really fine; as long as a good eAllXXXX name is selected that does not clash with a method that EMF uses.

so, to summarize
* ok to include an enumerator, method or utility that iterates safely over also references in RGen = yes
* implemented as external utility (not mixin module) = maybe, depends a bit on how it is done in EMF - have not looked
* each user implements = no, this is generic, but not sure how often it is used