- prefer result type of overridden method over type of RHS of the overriding method in a subclass - require result type for `implicit` definition