...I can give my impressions of the funtional aspects of what I call free-floating functions.
What I mean by a free-floating function is a function that is not tied to a class. For example:
doSomething(thingToDo);
as opposed to
ThingDoer.doSomething(thingToDo);
The thing I've never liked about languages that allow free-floating functions is that they lead to sloppiness and confusion. Where does the magic non-name-spaced function exist? How can I access it? What do I need to import/include to get to it? What happens if there are different doSomething() funcions I want to use?