In a dynamic language, it is a great POO feature that an object is both prototype and instance: thus when building nested hierarchies of incrementally refined prototypes, you don't need to manually track the shape of the hierarchy to recursively instantiate all prototypes.
You tell me! "OOP" has mostly been a festering pile of ignorant propaganda for the last 30 years, so I don't care what authorities say. That said, Prototype are the foundation that OOP would wish it had, if only OOP cared for foundations.
Read my blog!