Right. Functions and data can not be decoupled because functions must know what properties of data they need to access. So functions by necessity depend on data. BUT data, if it is really "data" should NOT depend on functions. So we have reduced what would be bi-directional dependency problem into one directional one.
In a typical OOP design there would be no clear rules as to who can depend on whom and whom not.
In a typical OOP design there would be no clear rules as to who can depend on whom and whom not.