What we want to do is not possible. Because more specific types (inheritance types) must have a compatible interface with parent types. This is necessary for polymorphism to work (the client should not know what subtype it is working with, having a reference to the parent type).