One of the reasons why functions are managed into methods everywhere they get used is that we lack IDE features for functional programming.
IDE for OOP languages have all kinds of features, especially auto-hint/completion.
Think about it, you want to insert a record into a Map, you typed:
theDict.s_ (←This is your cursor)
and a list popup : [“size”, “set”, …]
And you found [“set”], and saw something like [void set(String key, Object value)], you know it is what you wanted, and you don’t have to search the document or guess is it with something like “insert” or “put”.
Yes, a method like “set” for a Map is a proper encapsulation, but people would put everything into methods rather than static functions, sometimes actually because there is a better documentation system than where there isn’t. And when such APIs are published by some big organization, it comes into a disaster.