One of the things I dislike about function notation is that in f(g(h())) execution order is right-to-left. I like OO partly because execution order is writing order ( h().g().f() )
In Clojure I love the threading macro which accomplishes the same: (-> (h) (g) (f))