Make overridden constructors take the correct type