Interface members  are hidden by class members if a type parameter has an effective base other than object