Add a check that all types are actually implementations of TRegistration? OR maybe add that code to CollectionTypeRegistration?