<i>"Allow required initializers in extensions, and require subclasses to implement these initializers (even if they just call super)"</i><p>Is that possible? The subclass could live in your application, and the extension method in a plug-in that isn't known to the application (needn't even be on the system or _exist_ when you launch the application)<p>That may work, but I would have to think hard about all kinds of weird scenarios before being sure of it.