You're describing subtyping which, like modularity, does not require inheritance or really any other part of "OOP".
I think that supports the article's point that C++, Java, etc. only support certain language features in an ad-hoc way tied to their object systems, making them, among other things, poor teaching languages.