What about watching over your assessors, and keeping some privacy protection over your variables and functions ( methods)? protection to disable overwriting. OOP Design obviously is more complex, but it’s not as loose as you are presenting it.
An object is very similar to a complex array or hash, however, it’s way more difficult to penetrate and offers custom structure that can be manipulated by demand when you are writing the class.
On the other hand functional programming is good for developing an idea quickly, especially when you are programming for the Web. It’s the quick and dirty approach which is very handy for small tasks that don’t need to scale.
I frankly like functional programming, but it’s just not practical in many cases. Inheritance, encapsulation and that kind of heralchical madulation (within the encapsulation) that characterizes the objects within a class are vital for large applications.