It will depends on order of extensions registration then.
   Collection.register_extension(Extension1)
   Attribute.register_extension(Extension2)
In this case `Collection` will not get `Extension2`, but if you change order it will. And using Set is a good idea, at least uniq for extensions array. I'm thinking about some external extensions storage or even something like configuration for Virtus.model, but have not clear idea how to better implement this.