There are ways we “reign in” Object Oriented Programming so it doesn’t become a mess – composition over inheritance, dependency injection, etc. The idea that it starts to look like “something else” after enough constraints are applied means there’s lots of messy OOP out there!