Reported by: email@example.com
The compiler registration system functions as an undocumented namespace. It's not as bad as the undocumented class namespace (subject of a separate bug report), but has some of the same issues.
The namespace ought to be documented. The behaviour of compreg needs to be documented more thoroughly: on write clashing names are overwritten, and on read a non-existent name returns a null PMC.
It would also be nice to expose the namespace as a reified object, so that its contents can be enumerated and it can be manipulated in all the usual ways. In fact, you might as well make it a sub-namespace in the general-purpose dynamic namespace. If you do that, then the compreg ops are no longer needed.