I did not know that Object that acts as data structures is a design smell.
Christian Sakai
1

An object itself is not a “data structure” but a container for hidden state or data, as well as the applicable functions (or methods) that act on it. Objects are an organizing principle; they organize your functions.

When you design your program, you lay out the data structure and code (functions). The functions operate on various aspects of the data structure; they operate on specific “types.”

If, for a given “type,” you collect the applicable functions in one place, you have the essence of an “object.” This collection is not your data structure but, as Uncle Bob puts it, “a bag of functions.”

Alternatively, you don’t collect the applicable functions in one place (they’re scattered wherever), and you’re left with the essence of functional programming.