What is the argument against declaring protected-access members on interfaces? This, for example, is invalid:
public interface IOrange { public OrangePee
An interface is all about what a certain object can do, so when using a class which implements that interface the developer will expect all the members to be implemented, so the protected access modifier won't mean anything for interfaces.