1) Constructor rules. 2) Overriding rules for the return types.